Views Фильтр типа материала в зависимости от глубины url или глубины термина таксономии

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

Аватар пользователя tolik109 tolik109 26 января 2015 в 13:29

Доброго времени суток!
Подскажите пожалуйста как сделать следующее.
Есть views - Taxonomy term Отображается как страница, путь страницы taxonomy/term/% словарь с иерархическим списком терминов.

в url это:
/oboi/proizvoditel/catalog

в словаре таксономии:
Обои
- Произвадитель 1
- - Каталог 1

- Произвадитель 2
- - Каталог 1
- - Каталог 2

Существует физически и отображается два типа материала Каталог и Товар которые имеют общий словарь и отображаются этим представлением.
Вопрос:
Как сделать чтобы по адресу /oboi/proizvoditel/catalog не отображался тип материала Каталог а отображались только товары
Как сделать чтобы по адресу /oboi/proizvoditel не отображался тип материала Товары а отображались только каталоги (Т.Е. на вкладке производителя отображались токлько его каталоги а не все товары из каталогов)

Спасибо!

Комментарии

Аватар пользователя remmor remmor 26 января 2015 в 15:19

"tolik109" wrote:
Как сделать чтобы по адресу /oboi/proizvoditel/catalog не отображался тип материала Каталог а отображались только товары
Как сделать чтобы по адресу /oboi/proizvoditel не отображался тип материала Товары а отображались только каталоги (Т.Е. на вкладке производителя отображались токлько его каталоги а не все товары из каталогов)
Спасибо!

Перехватить шаблон вывода ноды в этом Views и там проверять уровень вложенности и тип данных. В зависимости от уровня вложенности уже выводить нужный только тип данных.

Аватар пользователя tolik109 tolik109 26 января 2015 в 23:04

"remmor" wrote:
проверять уровень вложенности и тип данных

Переопределил шаблон, подскажите как проверить уровень вложенности ;( Я не особо силен в 7.

Аватар пользователя remmor remmor 27 января 2015 в 13:42

"tolik109" wrote:
Переопределил шаблон, подскажите как проверить уровень вложенности ;( Я не особо силен в 7.

Причем тут 7-ка? Обычный PHP

Аватар пользователя tolik109 tolik109 28 января 2015 в 15:11

Ладно )


<?php
$url 
drupal_get_path_alias(current_path());
$url=explode("/"$url);        // Разбивает строку на подстроки по символу "/"
$tmp=count($url);               //считаем количество элементов

if ($tmp<=2)                     // Задаем условие - 2 УВ
{ ...как из views вытащить контент определенного типа материала? }
?>

только не отвечйте «средствами php» )

Аватар пользователя remmor remmor 28 января 2015 в 15:12

"tolik109" wrote:
как из views вытащить контент определенного типа материала? 

Добавьте в ваш Views скрытое поле NID. Да или сразу тип уже. Хотя там NID и так должен быть, вроде в переменной $data - но проверить надо.

Аватар пользователя tolik109 tolik109 28 января 2015 в 15:33

Views отображает Анонс материала.
Попытки вывести во views.tpl.php переменных $type или node>type; ни чего не дают естественно.
Полями только делать?

Аватар пользователя remmor remmor 28 января 2015 в 16:43

"tolik109" wrote:
Views отображает Анонс материала.
Попытки вывести во views.tpl.php переменных $type или node>type; ни чего не дают естественно.
Полями только делать?

Там должен быть nid по любому - он туда передается. НЕ помню как , а проверять лень. Напишите там код - он все переменные выведет, найдете.
<?php $vars=get_defined_vars(); print_r($vars);?>