■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

TopページにBlog記事を表示したい

marojp > TopページにBlog記事を表示したい @ 2015/4/15 21:13
初めまして。
最近BaserCMSに挑戦し始めたものです。
情報が上手く見つけられなかったので、こちらで質問させていただきます。

TOPページにて最新Blog記事の内容を表示する方法はありますでしょうか?
記事の一覧はできることがわかりましたが、記事の内容の一部を表示させ
「続きはこちらへ」のようなリンクを作りたいのです。
Blogページ内に記事を表示する関数はありますが、Topページでは動かないようです。

方法がありましたら教えていただけますでしょうか。

バージョン3.0.7をハッスルサーバーにて試験運用しています。
goichi > Re: TopページにBlog記事を表示したい @ 2015/4/16 9:47
こんにちは(^^

トップページを含む固定ページややレイアウトテンプレート内では
<?php $this->BcBaser->blogPosts('news', 4) ?>

が利用できます。上の例だとnewsの記事を4件とってきます。

上の関数でとってきた記事データを、実際に表示する部分は、ブログ用のコンテンツテンプレートに記載します。
/app/webroot/theme/テーマ名/Blog/default/posts.php

というようなファイルがあると思います。そこの中を開いてみてください。前述の関数で呼び出された時の一覧表示方法を記載できるようになっています。
ちなみに「default」というフォルダ以下が、デフォルトのコンテンツテンプレートになります(ブログのテンプレートはフォルダ単位なんですね〜)。
他の名前でテンプレートを用意すれば、管理画面でブログ毎にテンプレートを設定できます。
marojp > Re: TopページにBlog記事を表示したい @ 2015/4/16 18:59
早速 解決方法を教えていただきありがとうございます。
posts.phpをいじってみたところ、表示を変えることができました。

現在phpファイルをコピーして
posts.php(変更したもの)とposts2.php(オリジナル)が同じフォルダ内にあるのですが
両方のphpファイルを同時に利用することはできるのでしょうか?

たとえばtopページ上部にはposts.phpで表示させ、下部にはposts2.phpで表示させるようなことです。

よろしくお願いいたします。
goichi > Re: TopページにBlog記事を表示したい @ 2015/4/17 0:05
post2.phpという名前では難しいと思います。テンプレートを分けて、例えば「test」というブログのテンプレートをつくったうえ、関数のオプションでテンプレート名を入れればイケるんじゃないでしょうか。(試したことないのですが・・・)

テンプレート自体は、前述のとおり「default」がデフォルトで、フォルダ単位ですので、同じ階層に「test」というフォルダと必要なファイル群を入れれば、それが「test」テンプレートになると思います。

なお、ブログのテンプレートの中身についてはここをご覧ください。4つのファイルで構成されています。
n1215 > Re: TopページにBlog記事を表示したい @ 2015/4/17 12:25
marojp 様

以前、類似の内容を含む質問がありました。
参考:http://forum.basercms.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=1767&forum=5&post_id=6625#6625

元のposts.phpをコピーして /app/webroot/theme/テーマ名/Blog/default/posts2.php を作成するだけで、
複数のテンプレートを使い分けることができるはずです。

<?php $this->BcBaser->blogPosts('news', 4, array('template' => 'posts2')) ?>

Twitter: @n_1215

marojp > Re: TopページにBlog記事を表示したい @ 2015/4/17 16:28
Goichi様 n1215様
ありがとうございます。
お二方のおかげで、無事思うようなことができました。

defaultフォルダ内にposts.phpを複製、posts2.phpにリネーム
posts2.phpを自分の表示したいように修正(自分は本文の一部を表示させました)
トップページに
<?php $this->BcBaser->blogPosts('news', 1, array('template' => 'posts2')) ?>

を挿入し、最新記事の表示ができました。
(質問の前に同じ構文を試したのですが、上手く表示されませんでした。なにかが間違っていたとは思うのですが不明です)

関数やphpなどをもっと詳しく勉強すれば、色々できそうなCMSですね。
もう少しチュートリアルなどがわかりやすいと入門者にもうれしいです。

実はもう、次の行き詰まりがあって、画像がうまく....
自分でもうしばらく試行錯誤して、また質問させていただくかもしれません。
今回は解決済みということで。
ありがとうございました。

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
34 人のユーザが現在オンラインです。 (33 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 34