Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

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

Каталог на D7 с синонимом термина таксономии как аргумент
, 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.

 
1 answer
votes: 722
Answer

Не совсем понял, что именно вы хотите сделать, чем не устраивает стандартный вывод термина таксономии? Зачем сложности с этим 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.