【メモ】baserCMS フィードプラグインで特定の文字を含むタイトルを取得しない方法
【ご指摘をいただいたので編集しました】
このカスタマイズはグレー(本当は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(水)
------