codeigniterを使用していくつかのrssフィードをループするようにsimplepieを取得しようとしていますが、配列内の最後のフィードからのフィード項目を表示するためにのみ取得できます。
_get_feed関数のforeachループに関係していると思いますが、私が試したすべての方法で修正できませんでした。
私のコントローラーにはこれがあります
class Main extends Controller{
function index()
{
$this->load->library( 'Simplepie' );
$feed_urls = array
(
'http://feeds.feedburner.com/SputnikmusicNews',
'http://feeds2.feedburner.com/nmecom/rss/newsxml',
);
foreach ($feed_urls as $feed_url)
{
$data = $this->_get_feed($feed_url);
}
$data['main_content'] = 'main_view';
$this->load->view('includes/template', $data);
}
function _get_feed($url)
{
$feed = new SimplePie();
$feed->set_feed_url($url);
$feed->init();
$count = 0;
foreach($feed->get_items() as $item)
{
$data['feed'][$count]['title'] = $item->get_title();
$data['feed'][$count]['permalink'] = $item->get_permalink();
$count ++;
}
return $data;
}
}
それから私の見解では私はこれを持っています
<?php foreach($feed as $item) : ?>
<br />
<a href="<?php echo $item['permalink']; ?>"><?php echo $item['title']; ? ></a>
<?php endforeach; ?>
set_feed_url関数を使用して解析するフィードの配列をsimplepieに与えることができることは知っていますが、すべてのフィード項目が一緒に混合されるため、これは行いたくありません。
また、コントローラーに_get_feed関数を配置しても、ベストプラクティスの観点から問題がないかどうか、またはデータをフェッチしているモデルに配置したほうがよいかどうかを知りたいですか?