■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

フィードでサイト名も表示させたい。

herbsman > フィードでサイト名も表示させたい。 @ 2014/5/9 17:27
初めての投稿です。宜しくお願いします。
フィードで複数のblogから表示させているのですが、タイトルや日付、リンク等以外に各blogのサイト名も表示させたいのですが、出来るのでしょうか?
可能な場合どの様にすればいいのでしょうか?

どなたかご教えて頂けませんでしょうか?

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:heteml
■ スマートURLの利用: ON
■ 設置フォルダ: ドキュメントルート
■ 利用しているデータベース: MySQL
■ PHPスキル:E

goichi > Re: フィードでサイト名も表示させたい。 @ 2014/5/9 18:38
引用:
各blogのサイト名も表示させたい

デフォルトのままだと難しそうです。RSSにブログ名がちゃんと入っていることが前提ですが、一部のファイルをカスタマイズします。
/lib/Baser/Plugin/Feed/Model/RssEx.php
を開いてもらって、199行目付近

		foreach ($datas as $data) {

			$tmp = array();
			$tmp['title']['value'] = $data->get_title();
			$tmp['link']['value'] = $data->get_link();

という箇所に1行追加して・・・
		foreach ($datas as $data) {

			$tmp = array();
			$tmp['site_name']['value'] = $simplePie->get_title(); //追加
			$tmp['title']['value'] = $data->get_title();
			$tmp['link']['value'] = $data->get_link();

としておきます。これでView側へブログ名をもっていけますので、あとはお使いのテーマのFeedの表示を変更します。
/app/webroot/theme/お使いのテーマ/Feed/default.php
の中で、
<?php echo $item['site_name']['value'] ?>

というような感じで出力できるようになっていると思います。
ただ、RSSに書かれたブログ名をそのまま拾ってくるので、意図せず長かったり、そもそも入っていないなんて事もあると思います
。。。。お試し下さい。


追記:/lib/Baser/配下のファイルをカスタマイズする時は、/app/フォルダに移して編集すると、将来のバージョンアップ時にスムーズです。
/lib/Baser/Plugin/Feed/Model/RssEx.php
↓
/app/Plugin/Feed/Model/RssEx.php

また、モデルを操作しますので、一時ファイルを完全に消してお試し下さい。
/app/tmp/cache/models/の中のファイルを消します。
herbsman > Re: フィードでサイト名も表示させたい。 @ 2014/5/10 23:24
goichi さま
早々のご回答ありがとうございました。大変助かりました。
今回のカスタマイズで、
/lib/Baser/Plugin/Feed/Model/RssEx.php
というファイルが無く。
/lib/Baser/Plugin/Feed/Model/Feed.php
のファイルを見ると同じようなコードがありましたのでカスタマイズしたところ問題無く表示されました。

ただ、
/lib/Baser/Plugin/Feed/Model/Feed.php
↓
/app/Plugin/Feed/Model/Feed.php
に設置したところ機能しませんでした。

取りあえずは、表示できましたので問題無しです。
ありがとうございました。
何かありましたらまた宜しくお願い致します!

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:heteml
■ スマートURLの利用: ON
■ 設置フォルダ: ドキュメントルート
■ 利用しているデータベース: MySQL
■ PHPスキル:E