【メモ】baserCMS フィードプラグインで特定の文字を含むタイトルを取得しない方法

freee151108569496
【ご指摘をいただいたので編集しました】
このカスタマイズはグレー(本当はNGかも)なのであくまで個人のメモのために残しておきます。
赤字を取得したくないタイトルに含まれる文字に編集してください。

/lib/Baser/Plugin/Feed/Model/Feed.php
/**
 * SimplePieで取得したデータを表示用に整形する
 * 2009/09/09    ryuring
 *                 古いバージョンのSimplePieでは、WordPress2.8.4が出力するRSSを解析できない事が判明。
 *                 SimplePie1.2に載せ換えて対応した。
 * TODO            このままでは、itemがない場合、RSS自体の情報が取得できないので修正が必要
 *
 * @param string SimplePieで取得したデータ
 * @return array RSSデータ
 */
    protected function _convertSimplePie($datas) {
        if (!$datas) {
            return null;
        }

        $simplePie = $datas[0]->get_feed();
        $feed['Channel']['title']['value'] = $simplePie->get_title();
        $feed['Channel']['link']['value'] = $simplePie->get_link();
        $feed['Channel']['description']['value'] = $simplePie->get_description();
        $feed['Channel']['pubDate']['value'] = '';
        $feed['Channel']['language']['value'] = $simplePie->get_language();
        $feed['Channel']['generator']['value'] = 'baserCMS';
        $feed['Items'] = array();

        foreach ($datas as $data) {

            $tmp = array();
            $tmp['Channel']['title']['value'] = $simplePie->get_title();
            $tmp['Channel']['link']['value'] = $simplePie->get_link();
            $tmp['title']['value'] = $data->get_title();
            $tmp['link']['value'] = $data->get_link();
            $tmp['pubDate']['value'] = date("r", strtotime($data->get_date('Y-m-d H:i:s')));
            $tmp['dc:creator']['value'] = $data->get_author();
            $cat = $data->get_category();
            if ($cat) {
                $tmp['category']['value'] = $cat->get_term();
            } else {
                $tmp['category']['value'] = '';
            }
            $tmp['guid']['value'] = $data->get_id();
            $tmp['guid']['attributes']['isPermaLink'] = $data->get_permalink();
            $tmp['description']['value'] = $data->get_description();
            $tmp['wfw:commentRss']['value'] = $data->get_title();

            $tmp['encoded']['value'] = $data->get_content();
            $tmp['img'] = $this->extractImg($tmp['encoded']['value']);

            //if (!strstr($tmp['title']['value'], '***')) {
            if (strpos($tmp['title']['value'], '***') !== false) {
                $feed['Items'][] = $tmp;
            }
        }
        return $feed;
    }
2016/01/06(水)

------

コメントを残す

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

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

PAGE TOP