Так получилось, что с Views разбираюсь только сейчас (до этого пользовался модулем Category, где всё работало "по ходу") и вот столкнулся с проблемой:
Есть некий словарь с термами (1, 2 и т.д.) и его содержимое "в классике" выводится вот так:
../taxonomy/term/1/all - это стандартный перечень нод на странице.
"в классике", в частности, это означает что именно такой путь генерируется по умолчанию, скажем, модулем site map для термов упомянутого словаря.
Модулем таксономии для такого пути замечательно генерируется соответствующий RSS-фид:
../taxonomy/term/1/all/feed
Всё было бы замечательно, но мне нужно выводить не все ноды, а только, к примеру, имеющие тип "статья".
Включаю Views. Радуюсь, ибо там есть готовый шаблон вида "taxonomy/term". На радостях подключаю этот вид. И... радоваться перестаю. Всё замечательно, кроме одного - фид
/taxonomy/term/1/all/feed
больше не выводится, аналогичный ему выводится по урлу
/taxonomy/term/1/feed
Но, site map, syndication и прочий "стандартный" зверинец настойчиво генерирует под своими rss-иконками путь именно с /all/feed (при том, что если путь для конкретного тега/терма, в моем случае, можно в админ-настроках site map отрегулировать, то путь rss-фида аналогичной дрессировке не поддается), чем нарушается вся красота и стойность, а на горизонте маячит дополнительный кусок работы по ручному ваянию структуры сайта и ручному прописыванию урлов для фидов.
Аналогичная проблема после подключения Views - с фидом для трекера (ежели к аргументам соответствующего вида добавить Node: Feed Selector), но там камнем преткновения становится зарезервированный для uid аргумент в урле. Т.е. правильный фид находится по пути ../tracker/feed, а стандартный вид прописывает под rss-иконку путь ../tracker/%2A/feed (%2A - это, если не ошибаюсь, * ), который пуст для общего трекера, но правильно работает для закладки "Мои сообщения" (../tracker/1/feed).
Кто нить знает как это всё хозяйство в порядок привести? Что бы и виды работали, и урлы для фидов вспомогательными модулями генерились правильно (под views). (Я с этим Views разбираюсь только третий день. Может чего не понял?..)
Спасибо.
Комментарии
Братцы, неужели это мне одному такое счастье с вью-фидами? Не уж-то спецов в аргументах views нету?
Может быть я что-то не так понял, но нельзя ли просто сделать новый вьюз с фильтром по NodeType выбираете там тип "статья".
Путь ему можете какой хотите прописать...
Да можно конечно видов написать... Это и будет ручной вариант. Но весь смысл-то в том, что бы урлы термов и их фиды выдавались корректно стандартными средствами (как минимум сайт-мапом и синдикатом). К тому же проблема не только в этом. Ещё до ручных правок вида "taxonomy/term", после его включения он ломает предыдущие настройки путей фидов.
В случае с одним аргументом это вроде как можно решить, указав URL как ./taxonomy/term/1/all/$arg
Но аргумента 2, как я понимаю. Скорее всего, и для такого случая есть нечто подобное. А иначе придется код писать обработки аргумента.
Для вида taxonomy/term надо прописать в argument handling code :
<?php
if (is_numeric(arg(2)) && arg(3)=='all' && arg(4) == 'feed') {
$args[0] = arg(2);
$args[1] = arg(4);
return $args;
}
?>
В сайт-мапе это работает! По тем урлам ленты, которые там генерятся под кнопками, действительно начали открываться соответсвующие фиды. Правда, осталась беда с рефералами под rss-кнопкой на самой странице taxonomy/term/1/all
Но ссылку на эту страницу можно убрать настройками сайт-мапа. Будет открываться taxonomy/term/1 и под rss-кнопками там нормальные фиды, правда без /all/ (получается два разных адреса для одного и того же фида).
Так что в принципе для это может быть решением (или, точнее, обозначенным направлением решения, т.к., к примеру, модуль синдикатора генерит пути, где вместо /all/ - /0/ и для этого случая получается надо свой код писать; вообще бардак у них какой-то с фидами)...
alexweb-у БОЛЬШОЙ РЕСПЕКТ!!!