Темизация taxonomy/term/% с помощью views

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

Аватар пользователя vanbot vanbot 3 марта 2011 в 3:35

Нужен совет людей кто решал похожую задачу.

Суть проблемы необходимо темизировать вывод страниц терминов taxonomy/term/% при чем для каждого словаря свой вид (views)

Раньше это решалось с помощью модуля tvi и views но посмотрев в лог девила ужаснулся - модуль создает 65 запросов на главной странице (где он не используется) также его запросы вылазят везде где только нужно и ненужно.

Хотелось бы обойтись для решении задачи только модулем views и шаблонами.

Немного поясню структуру вывода информации на страницах taxonomy/term/%
- выводиться разные типы нод
- нужны фильтры сортировки (создаются в views)

Первое решение которое пришло в голову это создать taxonomy-term-page.tpl и от туда выводить нужные виды.
Но не все так хорошо как казалось если выводить вид-страницу то она требует путь (taxonomy/term/% для фильтров),
прописываю путь не подключается шаблон taxonomy-term-page.tpl
Если выводить не страницу а блок то как можно вывести открытые фильтры?

как решить данную задачу?

Комментарии

Аватар пользователя q2_faith q2_faith 3 марта 2011 в 8:53

пару раз задавался этим вопросом, но руки не доходили чтобы попробовать
если найдете решение, то отпишитесь в теме)

Аватар пользователя igorek igorek 3 марта 2011 в 10:23

Я сделал так:
1. страница с адресом: taxonomy/term/%
в фильтре указал один словарь
вторая страница с этим адресом уже не работает, сделал так:
2. сделал вложение к этой странице(их можно делать сколько словарей) и фильтре указал нужный словарь, для двух словарей обошелся одним вложением, так как вывод одинаковый...

Аватар пользователя vanbot vanbot 3 марта 2011 в 13:27

"Alangasar" wrote:
<?php
function mymodule_views_pre_view(&$view) {
if (arg(2)==2){
$display_id = 'page_1';
}
if (arg(2)==3){
$display_id = 'page_2';
}
$view->set_display($display_id);
return $view;
}
?>

и т.д.


Это и так ясно... но увы не работает на практике... фильтры не хотят работать!

"igorek" wrote:
Я сделал так:
1. страница с адресом: taxonomy/term/%
в фильтре указал один словарь
вторая страница с этим адресом уже не работает, сделал так:
2. сделал вложение к этой странице(их можно делать сколько словарей) и фильтре указал нужный словарь, для двух словарей обошелся одним вложением, так как вывод одинаковый...

интересный вариант.. сейчас опробую.. но опять же не совсем то...

Аватар пользователя vanbot vanbot 3 марта 2011 в 14:36

нашел вариант решения но немного ( на мой взгляд ) кривоватый

Ставим модуль Taxonomy redirect и делаем редирект всем терминам таксономии на что-то вроде урл/!tid и создаем вид для каждого словаря.