logo

Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll

Каталог на D7 с синонимом термина таксономии как аргумент

22/02/2025, by Гость (не проверено)

У меня такой вопрос: делаю на Drupal Commerce каталог товаров как например в этом магазине http://czech-cristal.ru . Т.е. я создал словарь таксономии "Категории товаров" с названием нужных товаров, где "Pattern for all Категории товаров paths" формируются так catalog/[term:name], ну и конечно на базе словаря создал соответственно менюшку, которая ссылается на Views(путь catalog/%) с передачей аргумента.

Мне нужно чтобы ссылки имели именно вид catalog/[term:name] , вот как на http://czech-cristal.ru .

Так вот далее, с какими я проблемами столкнулся, я забил значит термины таксономии, менюшка появилась со ссылками catalog/obuv-timberland и catalog/novyy-termin . Сделал
Views с url catalog/%, контекстный фильтр задал " Содержимое: Имеет идентификатор термина таксономии (с глубиной) ", в критерии проверки выбрал PHP код, и в коде пишу следующее:

 

$url = drupal_lookup_path('source', "catalog/".$argument);


if ($url != false)
{
  // если путь найден, проверяем, что это путь к термину таксономии
  //
  $term_base_path = 'taxonomy/term/';

  if (strncmp($term_base_path, $url, strlen($term_base_path)) == 0)
  {
    // вырезаем префикс 'taxonomy/term/', оставшееся значение преобразуем в число
    // и заменяем аргумент вьюса на полученный ID термина таксономии
    //
    $handler->argument = intval(str_replace($term_base_path, '', $url));
  }
}

return TRUE;

 

Так вот в самой Views все выводит правильно как и должно. Выводит нужные товары в зависимости от термина(скрин1). Проблема моя заключаетс в том, что на самом сайте по адресам catalog/obuv-timberland и catalog/novyy-termin выводится не то, что в предпросмотре во Views, а по порядку материалы, ассоциированные с данными терминами таксономии(скрин 2). Подскажите, пожалуйста, как сделать так чтобы и на самом сайте выводились товары каталога как это в предпросмотре Views.


 


Не совсем понял, что именно вы хотите сделать, чем не устраивает стандартный вывод термина таксономии? Зачем сложности с этим php кодом? Попробуйте сделать через tvi, как на этом видео:

Темизация Drupal урок 7 Темизация Термина таксономии

 


Я вывожу товары сеткой через Views, вот как в каталоге на странице http://czech-cristal.ru/catalog/cheshskaya-bizhuteriya/podveski-s-elementami-swarovski/serdechki . Здесь через контекстные фильтры передается термин таксономии материала и выводятся сами материалы и мне нужно обязательно выводить через Views(в админке собственно уже все работает нормально, скрин1). А делать нужно именно через Views, потому что так удобно сеткой выводить во-первых, во-вторых нужно будет задействовать впоследствии expose-фильтры, поэтому только Views и поэтому стандартный вывод таксономии не устраивает. И на самом сайте тоже так должно быть, поэтому нужно как-то перекрыть стандартный вывод вьюсом. Как?


С помощью модуля tvi.

Посмотрите видео, там все это объяснаяется.


Спасибо!Помогло! Еще как вариант как оказалось можно было сделать через Taxonomy display.