Созднание многоуровневого каталога с разными уровнями

На основе созданного нами каталога в статье Создание многоуровневого каталога мы создадим еще одно отображение views для второго уровня.

На втором уровне термины будут отображаться не в виде название/фото, а название/описание.

Создаем отображения типа блок, ничего не изменяя. На странице удаляем все поля и добавляем Global: Custom text, убрав все метки.

Создаем новое отображение типа Блок нашего Views типа термин.

многоуровневый каталог

Все настройки остаются, только меняем сами поля, которые необходимо вывести и сохраняем.

Переходим на страницу управления блоками, переносим его в область контента и в настройках блока Показывать блок на определенных страницах выбираем Показать, если данный PHP-код возвращает TRUE  и пишем следующий код, чтобы материал отображался только на страницах второго уровня:

  1. <?php
  2. $path = $_GET['q'];
  3. $path = explode('/', $path);
  4. $term_id = $path[2];
  5. $parent_terms = taxonomy_get_parents($term_id);
  6. if (count($parent_terms) == 1) {
  7. return false;
  8. } else {
  9. return true;
  10. }
  11. ?>

Количество уровней определяется строкой count($parent_terms) == 1, где числом мы задаем сколько родителей у данного термина. Для второго уровня - 1, для третьего - 2 и т.д.

Для блока, который дублирует наше отображение страницы, указываем отображать тогда, когда php код вернет true:

  1. <?php
  2. $path = $_GET['q'];
  3. $path = explode('/', $path);
  4. $term_id = $path[2];
  5. $parent_terms = taxonomy_get_parents($term_id);
  6. if (count($parent_terms) == 1) {
  7. return true;
  8. } else {
  9. return false;
  10. }
  11. ?>

Таким образом мы отображаем блок на всех уровнях, кроме второго. В результате на втором уровне выводится:

каталог второго уровня

Ключевые слова: 

Вас также может заинтересовать

Добавить комментарий

CAPTCHA
Для того, что б подтвердить что Вы человек, заполните, пожалуйста, форму проверки
Image CAPTCHA
Введите символы, которые изображены на картинке.