Мы использовали SimplePie в нашей установке Magento, чтобы в течение нескольких месяцев без каких-либо проблем размещать наши сообщения в блоге на нашей домашней странице.Из-за некоторых других проблем с Magento наш веб-хостинг отключил код операции в APC.Как только мы это сделали, следующее почасовое обновление SimplePie остановило загрузку домашней страницы и вернуло следующую ошибку в Apache:
[Wed Jan 18 09:59:57 2012] [error] PHP Fatal error:Класс 'Zend_Log' не найден в {server root} /lib/SimplePie/simplepie.inc в строке 738
Я немного растерялся из-за того, что происходит и что делать, чтобы это исправить.SimplePie поставляется в виде баннера / виджета, поэтому, если я размещу его на другой странице категории, я получу те же результаты.(Страница останавливается по команде SimplePie) Я надеялся, что это будет что-то простое, например, изменение заставит старый канал RSS оставаться и не может быть изменен, но я не уверен.
Любая помощь будет принята с благодарностью!
Код для SimplePie не изменен и является версией 1.2.1.У меня есть страница /app/design/frontend/default/default/template/page/html/blog.phtml со следующим кодом.
<div class="col-narrow right sidebar-blog">
<h2>Our Gardening Blog</h2>
<?php
// Make sure SimplePie is included. You may need to change this to match the location of
require_once('lib/SimplePie/simplepie.inc');
// We'll process this feed with all of the default options.
$feed = new SimplePie();
// Set which feed to process.
$feed->set_feed_url('http://blog.americanmeadows.com/feed/');
// Run SimplePie.
$feed->init();
// This makes sure that the content is sent to the browser as text/html and the UTF-8
$feed->handle_content_type();
/*
Here, we'll loop through all of the items in the feed, and $item represents the
current item in the loop.
*/
foreach ($feed->get_items(0,2) as $rss_item):
?>
<div class="article-teaser">
<p><span><?php echo $rss_item->get_date('F j, Y'); ?></span></p>
<h2 class="article-title"><a href="<?php echo $rss_item->get_permalink(); ?>"><?php echo $rss_item->get_title(); ?></a></h2>
<?php if ($rss_item->get_item_tags('', 'thumbnail')) {$thumbnail = $rss_item->get_item_tags('', 'thumbnail'); echo "<img src='" . $thumbnail[0]['data'] . "'>"; } ?>
<p><?php echo $rss_item->get_description(); ?> <a class="more" href="<?php echo $rss_item->get_permalink(); ?>" target="_blank">Continue Reading</a></p>
</div>
<?php endforeach; ?>
</div>
Затем у меня есть баннер, который вызывает только следующее
{{block type="page/html" template="page/html/blog.phtml"}}
Я включаю этот баннер в виджет левой колонки на нашей домашней странице, чтобы он отображался.
Строки в SimplePie выдают ошибку:
function SimplePie($feed_url = null, $cache_location = null, $cache_duration = null)
{
// Other objects, instances created here so we can set options on them
$this->sanitize =& new SimplePie_Sanitize; /* Error is thrown here */
// Set options if they're passed to the constructor
if ($cache_location !== null)
{
$this->set_cache_location($cache_location);
}
Я думаю, это то, что вам нужно, но я рад опубликовать больше.