Как да използвам zend_navigation за попълване на zend_feed?

Във файла за зареждане на всеки от моите модули попълвам своя Zend_Navigation екземпляр, така че да мога да създавам html/xml карти на сайта, навигация в страничната лента, навигация на администратора и сега искам да създам rss емисия.

Вместо дублиране на код и добавяне на страници към Zend_Feed, има ли начин да се използва Zend_Navigation за попълване на Zend_Feed?


person Richard Parnaby-King    schedule 27.01.2011    source източник


Отговори (2)


Емисиите са линейни записи и не поддържат вложени структури като навигация.

Навигационните контейнери обаче имплементират SPL итераторни интерфейси, така че можете лесно да ги итерирате чрез foreach, за да предадете страниците като записи в емисии.

Но мисля, че по-добрият подход би бил да добавите нови записи в емисии, когато добавяте страниците си към контейнерите за навигация, по същия начин.

person takeshin    schedule 27.01.2011
comment
Не се интересувам наистина от навигационната структура, просто искам да извадя всичките си страници от навигацията в rss емисия. Очаквайки този отговор обаче, разширих Zend_View_Helper_Navigation (вместо Zend_Navigation, защото бързах и не гледах какво правя), за да взема навигацията, да създам масив от елементи, които Zend_Feed ще приеме, и върна масива. - person Richard Parnaby-King; 28.01.2011

Разширих Zend_View_Helper_Navigation, за да взема навигацията, да създам масив ($feed) от елементи, които Zend_Feed би приел, и върнах Zend_Feed::importBuilder(new Zend_Feed_Builder($feed), 'rss')->saveXML();

person Richard Parnaby-King    schedule 26.09.2011