У меня есть проект мульти подачи, созданный с помощью Simplepie. Он работает нормально, но теперь я хочу чего-то, чего не могу достичь, и не нашел учебника о том, как его получить.
Мой проект состоит из новостного агрегатора с различными категориями с массивами ссылок для каждой.
Я настроил две тестовые страницы, чтобы объяснить это лучше:
первая:http://goo.gl/0E3KQu
второй:http://goo.gl/YO1mTv
В первом примере каждая категория отделена и имеет другой цвет нижней границы (3 простых примера):
<?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();
?>
<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-й странице).
Надеюсь, я все объяснил, спасибо.
Задача ещё не решена.
Других решений пока нет …