morontt.info

Zend FrameworkИспользование Zend_Feed

Не претендую на лучшее решение, это скорее первый опыт общения с Zend_Feed вообще, но написать что-то надо. Хотя бы ради ссылки на спецификации RSS 2.0

Ну а теперь, собственно, реализация RSS-ленты. Поскольку я стараюсь придерживаться паттернов проектирования MVC, то запрос обрабатывается контроллером, а данные для ленты формируются в модели. Вид (View) нам не нужен, как таковой, потому в контроллере мы его выключаем.

public function feedAction()
{
    //определяем тип ленты, RSS или Atom
    $feedType = $this->_getParam('feed');

    //выключаем View и Layout
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender(true);

    $topics = new Application_Model_DbTable_Topics();

    //запрашиваем данные ленты из модели
    $feedArray = $topics->getFeedData($feedType);

    //Импортируем ленту с помощью Zend_Feed и выводим её
    $feed = Zend_Feed::importArray($feedArray, $feedType);
    $feed->send();
}