Здравствуйте, помогите пожалуйста сделать переход при клике на термин таксономии на вьюс с контекстными фильтрами, ситуация следующая:
Есть вьюс (по юзерам), путь вида view-name/%/%
соответсвенно 2 контекстных фильтра (фильтрация производится по полям типа "ссылка на термин"), и соответсвенно терминам с помощью pathauto прописаны алиасы вида "view-name/[term:parent:name]/[term:name]", т.е. оба фильтра по терминам одного словаря но разной глубины, в результате для родительского термина получаются ссылки вида "view-name/term1" для дочернего "view-name/term1/term2". В контекстом фильтре аргумент заменяется с id термина на имя термина с помощью критерия проверки по PHP коду:
<?php
$np = explode('/', drupal_get_normal_path('view-name/' . $argument)); // получаем изначальный путь из синонима (taxonomy/term/tid)
if (!empty($np[2])) {
$handler->argument = $np[2]; // присваиваем в качестве аргумента id термина
return TRUE;
} else {
return FALSE;
}
?>
Когда я ввожу в редактировании представления в поле "Предпросмотр с контекстными фильтрами" например "term1" или "term1/term2" всё работает как задуманно - юзеры фильтруются, но когда я перехожу по алиасу термина на "view-name/term1" или "view-name/term1/term2", то попадаю на страницу термина таксономии вместо вьюса. Пробовал модули "taxonomy display" и "taxonomy views integration", с ними на вьюс перехожу, но контекстные фильтры не срабатывают - независимо от аргументов выводятся все материалы.
Комментарии
Используйте для вычисления аргумента код в contextual filter.
Так я вроде и так, разве нет?
Смотрите в отладке что возвращает код, скорей всего у Вас логическая ошибка.
Решил проблему выводом представления блоком на странице таксономии