Есть популярная (судя по этому сайту) задача выдачи rss-потоков по типам материалов. Здесь везде рекомендуют использовать тип дисплея Feed во Views. Я именно так и сделал, настроил фильтры, сортировку, указал путь (скажем, "/type-rss.xml") и т.д. В Live Preview внизу страницы с моим view дисплей Feed нужные мне данные, как раз по типу, показывает. Однако когда пытаюсь посмотреть фид по урлу (http://сайт/type-rss.xml), то получаю "Запрашиваемая страница не найдена". Подскажите, пожалуйста, какой ещё информации мне нехватает для понимания проблемы? Какое звено упустил, куда копнуть?
Комментарии
Пришлось решать "ломиком". Поскольку у меня типы содержимого регистрируются моими же модулями, то счёл логичным добавить в эти же модули как экспорт пути, так и callback для этого пути. Разместил в hook_menu() среди прочего такое:
<?php
$items['typerss.xml'] = array (
'title' => t('RSS-поток новостей type'),
'type' => MENU_CALLBACK,
'page callback' => 'typerss_page',
'access callback' => TRUE
);
?>
в callback такое:
<?php
$dbResult = db_query("SELECT nid FROM node WHERE type=\"type\" AND status=1 AND promote=1
ORDER BY created DESC LIMIT 20");
if (0 < mysql_num_rows($dbResult)) {
$nids = array();
while ($data = db_fetch_array($dbResult)) {
$nids[] = $data['nid'];
}
}
node_feed($nids);
?>
Однако ничего не изменилось. Пробовал и обновлять admin/build/modules, и переустанавливать модуль с полным удалением, и добавлять в module.install вызов menu_rebuild() - всё бесполезно, страница не найдена и всё, новый путь не добавляется.
Плюнул, залез в мускл и руками сказал такое:
VALUES ("typerss.xml","","",1,"a:0:{}","typerss_page","a:0:{}",1,1,"","typerss.xml","RSS-поток новостей type","t","",4,"","","",0,"");
После этого сразу заработало как надо. Если кто подскажет как это сделать изящнее и без программирования - буду признателен.