Views. Как сделать чтобы созданное представление не распространялось на какой то словарь?[Решено]

Главные вкладки

Аватар пользователя VasyOK VasyOK 22 ноября 2009 в 8:07

На сайте 2 словаря:
Товары(на котором строится один View)
Новости

Задача: выводить Товары в виде таблицы. Новости выводить как по умолчанию.

Таблица создана с помощью Views представления taxonomy/term/%.

Вопрос: как сделать чтобы Новости выводились без этой таблицы.

/* Как я решал эту задачу */

1) В созданном представлении таблицы выставил Таксономия:Словарь=Товары

Результат: Товары выводятся таблицей, Новости не выводятся вообще.

[Правильное решение]
Поставить Taxonomy redirect, сделать пернаправление для словаря (или термина) и прописать его в Views в разделе Страница - Путь

2) Добавил аргумент Таксономия:ID словаря. Выставил там проверку по Словарь:Товары. Все равно ничего не выходит.

Комментарии

Аватар пользователя VasyOK VasyOK 22 ноября 2009 в 8:47

Если я в фильтрах выставляю Словарь=Нужный или Словарь<>Ненужный, то у меня по
example.com/taxonomy/term/1

не выводится вообще ничего.

Аватар пользователя VasyOK VasyOK 22 ноября 2009 в 18:39

По моей логике рас в Views есть что что включает вид для одного словаря, значит должно быть что-то, что позволяет этот вид не применять для другого.

Аватар пользователя VasyOK VasyOK 22 ноября 2009 в 19:54

penexe, taxonomy_redirect поставил. Не понимаю какое он имеет отношение к Views.
Вы хоть опишите в двух словах свое наставление.

Аватар пользователя penexe penexe 22 ноября 2009 в 21:31

VasyOK,
1) в таксономии есть хук hook_term_path
он используется при выводе ссылок на термины таксономии, пишут обычно так
 l($term->name, taxonomy_term_path($term));
2) также в таксономии у словаря есть атрибут module - принадлежность к модулю, например используется в модуле forum.
3) этот при вызове taxonomy_term_path вызывается хук hook_term_path того модуля к которому прикреплен "словарь" и меняет ссылку c taxonomy/term/x на например forum/x
4) эти разные пути (кроме taxonomy/term/x) неимеют реальной страницы в системе.
5) с помошью вьювс мы создаем эти реальные страницы, с совершенно независимым оформлением и настройками. и можем этим страницам добавить также алиасы через pathauto.

6) taxonomy_redirect - меняет в системе атрибут module словарей на свой, и сам разруливает пути.
7) модуль написан кхм..., вообщем много запросов в бд.

Dirol можно написать свою реализацию hook_term_path в своем модуле и избавиться от лишних запросов, также надо в бд у нужных словарей поменять "module" на имя своего модуля.

усе

Аватар пользователя VasyOK VasyOK 22 ноября 2009 в 22:55

Guide, вы говорите нужно использовать фильтры и аргументы. Несколько обновил тему поэтому поводу. Может быть вы увидите ошибку в моих действиях.

penexe, над вашей инструкцией я конечно поботанирую, но что-то мне подсказывает что есть более изящные решения.

Аватар пользователя VasyOK VasyOK 25 ноября 2009 в 23:59

Спасибо penexe. Проблему решил моделем Taxonomy redirect.

Guide ваш вриант тоже интерсен, но не смог я допетрить как им воспользоваться.

Аватар пользователя yugene yugene 16 декабря 2009 в 4:15

Пожалуйста, опишите подробнее
"[Правильное решение]
Поставить Taxonomy redirect, сделать пернаправление для словаря (или термина) и прописать его в Views в разделе Страница - Путь"

Решаю подобную задачу, не могу нормально все настроить. Кучу статей уже перелопатила, до истины не добралась.
Буду очень благодарна паре подробных и ясных примеров, объяснений.

Аватар пользователя VasyOK VasyOK 16 декабря 2009 в 4:23

О том как работает Taxonomy redirect мне объяснили здесь:
http://www.drupal.ru/node/37259

Если не поймете скажите, я вам через день скриншоты того что я выставил скину. Я просто не помню на каком сайте я это делал.

Аватар пользователя yugene yugene 16 декабря 2009 в 13:23

да, эту ссылку посещала и изучала.
в принципе, работу redirect + views + pathauto удалось настроить - но в моем варианте настройки мне приходится вручную перебивать синонимы - а это мартышкин труд.

за скриншоты буду благодарна.