フィードにブログタイトルやカテゴリタイトルを表示させたい
| umeboshi > フィードにブログタイトルやカテゴリタイトルを表示させたい @ 2011/6/1 15:56 |
|---|
|
BaserCMS 1.6.10 を利用しています。
フィードの日付が入っている隣り辺りに、対象となるカテゴリタイトルを表示させたいと考えています。 欲を言うと、さらにそこからカテゴリ一覧ページにリンクさせたいと考えています。 このようなことは可能でしょうか? app\webroot\themed\○○○\feed\default.ctp 以下本文 現状このような形で作成しています。ご教示いただければ幸いです。 |
| ryuring > Re: フィードにブログタイトルやカテゴリタイトルを表示させたい @ 2011/6/1 20:36 |
|---|
|
こんばんわ。
フィードプラグインでトップの新着を出力していると思うのですが、基本的に、RSSフィードは、カテゴリ名称は含みますが、カテゴリページへのリンク情報は含みません。 カテゴリ名だけでよい場合は、 で出力できますがURLは取得できません。 BaserCMS 1.6.11 より、同サイト内のブログ情報は、RSSフィード経由ではなく、DBより直接出力できるようになり、デフォルトのデモテーマでもそちらを利用する事になりました。 出力用のタグは、 のような感じとなり、 テンプレートの場所は、 となります。 ※ こちらをテーマ内にコピーして使います このテンプレート内で、 と書けばカテゴリ一覧へのリンクが出力されます・・・・・・の予定だったのですが、 ちゃんとカテゴリが表示される為には一箇所コアの修正が必要でした(汗 baser/plugins/blog/controllers/blog_controller.php の 611行目 を としてください。 このコアの修正は、本体へもフィードバックします。 Twitter:@ryuring |
| ryuring > Re: フィードにブログタイトルやカテゴリタイトルを表示させたい @ 2011/6/1 20:45 |
|---|
|
すんまっせん、もう一箇所修正が必要でした。。
baser/plugins/blog/views/helpers/blog.php の261行目あたりに、getCategoryUrlというメソッド(関数)があるのですが、 そちらを次のコードに差し替えて下さい。 Twitter:@ryuring |
| umeboshi > Re: フィードにブログタイトルやカテゴリタイトルを表示させたい @ 2011/6/3 19:19 |
|---|
|
ご教示頂きありがとうございます。早速バーションを最新(1.6.11.4)にしてみました。
サイト内のブログでしたので2番目の方法を試してみたところ、無事カテゴリもリンク付きで表示され、動作もだいぶ早くなりました。 トップページにて と書いてあるところを に置き換えました。 ただこれだと複数のブログをまとめた新着5件の表示が出来なくなってしまいますが、何か対処方法はありますか? 元々2つのフィードを1か所に読み込ませていたもので…。 質問違いでしたらすみません。 出来ないようでしたら1番目の方法(リンクなし)を試してみようかと思っています。 よろしくお願いします。 |
| ryuring > Re: フィードにブログタイトルやカテゴリタイトルを表示させたい @ 2011/6/3 19:47 |
|---|
|
こんばんは。
引用: ただこれだと複数のブログをまとめた新着5件の表示が出来なくなってしまいますが、何か対処方法はありますか? この場合の対処法は今のところないですね〜。。 また、$baser->blogPosts をトップに貼りつけた場合、ブログ記事を更新した際に、サーバーキャッシュが邪魔をして即座に反映されないという問題も見つかってしまいました。 http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=327&forum=5 現在の最新版(1.6.11.4)の仕様だとブログ記事を更新した後、サーバーキャッシュを手動で削除しなければならなくなりました。 この辺の問題が解決するまで、$baser->js を使われる事をおすすめします。 なお、カテゴリへのリンクはこんな感じで張れるかと思います。 DBから直接カテゴリデータを取得して、フィードのカテゴリ名をURLで利用できる値に変換しています。 動作確認してませんが取り急ぎ。。 Twitter:@ryuring |
| umeboshi > Re: フィードにブログタイトルやカテゴリタイトルを表示させたい @ 2011/6/6 12:41 |
|---|
|
$baser->js にて実現することができました!PHPはコピペするしか能がないので非常に助かりました。
app\webroot\themed\○○○\feed\default.ctp 以下本文 しばらくこれで行ってみようと思います。回答頂きありがとうございました! |


