Simplepie中的多页进纸,如何区分类别

时间:2014-10-21 00:15:39

标签: php simplepie

我有一个使用Simplepie创建的多馈源项目。它运行正常,但现在我想要一些我无法实现的东西,并且没有找到任何关于如何获得它的教程。 我的项目包含一个新闻聚合器,其中包含各种类别的链接数组。 我已经设置了两个测试页来更好地解释这个: 第一:http://goo.gl/0E3KQu 第二:http://goo.gl/YO1mTv

在第一个示例中,每个类别都是分开的,并且具有不同的边框底部颜色(3个simplepie实例):

<?php
require_once('../inc/autoloader.php');

$feednews= new SimplePie();
$feednews->set_feed_url(array('feed1',  'feed2','feed3',));
$feednews->init();
$feednews->handle_content_type();

$feedentertain= new SimplePie();
$feedentertain->set_feed_url(array('feed4','feed5','feed6',));
$feedentertain->init();
$feedentertain->handle_content_type();  

$feedtech= new SimplePie();
$feedtech->set_feed_url(array('feed7','feed8','feed9',));
$feedtech->init();
$feedtech->handle_content_type();

&GT;

<ul>    
News
<?php foreach ($feednews->get_items() as $item) : ?>
    <div>
    <span class="news">
    <span class="title"><a target="_blank" href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></span> - 
    <span class="source"><?php $feednews = $item->get_feed(); echo $feednews->get_title(); ?></span>
    <span class="date"><?php echo $item->get_date("H:i a"); ?></span>
    </span>
    </div>
<?php endforeach; ?>    
</ul> 

<ul>        
Entertainment
<?php foreach ($feedentertain->get_items() as $item) : ?>
    <div>
    <span class="entertain">
    <span class="title"><a target="_blank" href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></span> - 
    <span class="source"><?php $feedentertain = $item->get_feed(); echo $feedentertain->get_title(); ?></span>
    <span class="date"><?php echo $item->get_date("H:i a"); ?></span>
    </span>
    </div>
<?php endforeach; ?>
</ul> 

<ul>    
Tech
<?php foreach ($feedtech->get_items() as $item) : ?>
    <div>
    <span class="tech">
    <span class="title"><a target="_blank" href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></span> - 
    <span class="source"><?php $feedtech = $item->get_feed(); echo  $feedtech->get_title(); ?></span>
    <span class="date"><?php echo $item->get_date("H:i a"); ?></span>
    </span>
    </div>
<?php endforeach; ?>
</ul> 

在第二篇文章中,我按照一个名为how_to_group_multiple_posts_by_day(合并多页)的简单教程,将它们全部分组(1个简单实例):

<?php
require_once('../inc/autoloader.php');

$feed_genre['news'] = array('feed1','feed2','feed3',);  
$feed_genre['entertain'] = array('feed4','feed5','feed6',); 
$feed_genre['tech'] = array('feed7','feed8','feed9',);  

extract($feed_genre);
$feedall = new SimplePie();
$feedall->set_feed_url(array_merge((array)$news, (array)$entertain, (array)$tech));
$feedall->init();
$feedall->handle_content_type();    
?>
<?php
$stored_date = '';
$list_open = false;
foreach ($feedall->get_items() as $item):
{
$item_date = $item->get_date('F d'); ?>
<?php 
if ($stored_date != $item_date)
{
if ($list_open)
{
    echo '</span>' . "\r\n";
}
$stored_date = $item_date;
echo '<div class="">' . '<span class=""> ' . $stored_date . ' </div>' . "\r\n";
echo "\r\n";
$list_open = true;
}}
?>
<?php { ?>
<ul>
<div>
<span class="title"><a target="_blank" href="<?php echo $item->get_permalink();     ?>"><?php echo $item->get_title(); ?></a></span>
<span class="source"><?php $feedall = $item->get_feed(); echo $feedall->get_title();     ?></span>
<span class="date"><?php echo $item->get_date("g:i a"); ?></span>
</div>
</ul>
<?php } ?>
<?php endforeach; ?>

我想做的是:

将它们全部混合,按日分组(如第2页所示)。 设置每个类别的颜色(如第1页所示)。

我希望我已经解释清楚了,谢谢。

0 个答案:

没有答案