BaserCMSでFeedをカスタマイズする

うちのメインサイトでは、BaserCMSを使っているのですが、そのトップページに各ブログの更新情報を

載せています。

それには、Feedプラグインを使っているのですが、少し問題がありました。

これって、RSSを読んで表示しているだけのため、あまり表示したくない更新情報も表示されるんですね。

何かというと、広告です。

ブログの投稿記事にまじって、広告が表示されるんですね。

しかし、ありがたいことに、今回表示されていた広告は、"PR:******"という感じで、必ずPR:で始まるんですよね。

 

ということは、"PR:"で始まるフィードだけ無視すればいいやんlaughということで、少しカスタマイズしました。

(もしかすると、前にも書いたかも・・・ 忘れっぽいもんで)

具体的には、以下のFeedPluginのソースに3行ほど追加します。

lib/Baser/Plugin/Feed/Model/Feed.php の_convertSimplePie() にフィードの情報を読み込んで

オブジェクトに展開しているところがあります。

        foreach ($datas as $data) {
            if (mb_substr($data->get_title(),  0, 3) === "PR:") {   <–追加
                continue;                             <–追加
            }                                    <–追加

 ここで、上記のように不要なデータの場合はスキップするように書けばよいだけです。簡単なもんですよね。

ただし、すでに表示済みの画面だとキャッシュが生成されている場合がありますので、ちゃんと削除するようにしましょう。

キャッシュが残っていると、それがつかわれるのでこのロジックを通らないんですよね。

キャッシュは、app/tmp/cache/views にあります。rssって拡張子のファイルがそれです。ちなみに、htmlもある場合は

それも消しておきましょう。それがあると、rss以前にページ自体が使いまわされますし。

 

では。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください