Рейтинг:0

Разделить иерархическую таксономию на несколько фасетных фильтров

флаг cn

В настоящее время я работаю с сайтом электронной коммерции в Drupal 8, который содержит несколько продуктов и несколько спецификаций, настроенных в термине иерархической таксономии под названием Спецификации, как в этом примере:

  • Цвет
    • Черный
    • Синий
    • Серебряный
    • Медь
    • Военно-морской
  • Материал
    • Пластик
    • Алюминий
    • Стали

На практике для этой платформы существует гораздо больше, а тип контента продукта содержит поле повторителя термина таксономии для нескольких спецификаций дочернего уровня.

Например, продукт может быть серебристого цвета и иметь алюминиевый материал.

Этот сайт использует API поиска с использованием Apache Solr, настроенного и работающего в настоящее время с проиндексированными данными для этого поля и с включенной иерархической индексацией для поля спецификации продукта. В настоящее время также существует фильтр с одним аспектом для поля «Характеристики».

Однако требование для этого проекта состоит в том, что каждый термин родительской таксономии верхнего уровня представляет собой отдельный фильтр фасетов, отделенный таким образом, чтобы он отображался и действовал как собственный блок фильтра вместо единого блока по умолчанию, который отображает все родительские и дочерние термины таксономии в разделе «Спецификации».

Любые предложения по реализации этого?

Jacob avatar
флаг cn
Примечание. Не уверен, что это полное решение, но для тех, кто хочет сделать то же самое, я пришел к выводу, что нужно продублировать существующий виджет, скажем, флажки, а затем использовать jQUery для клонирования фасетных блоков с количеством родительских терминов и включать только эти дочерние термины для каждого клонированного родительского фасетного блока и скорректировать заголовок блока на основе текста ссылки родительского термина. Убедитесь, что ваш контекст теперь представляет собой клонированные фасетные блоки, переданные из прикрепленных параметров поведения, и при необходимости настройте любые другие контекстные ссылки. Если вы хотите разрешить любые ссылки this без es6, либо привяжите, либо используйте циклы for.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.