Представления могут сделать это. Представления - это пользовательский интерфейс для поиска SQL, поэтому вы задаете определение для запроса, который будет сделан из базы данных контента.
Создайте представление для отображения термина таксономии со страницей, путь которой настроен вдоль этой линии category/%
. Это %
подстановочный знак, который заставит представление реагировать на любое значение, примененное в URL, которое соответствует этому формату.
Настройте свой дисплей и любые фильтры по желанию.
Определите отношение (третий столбец страницы пользовательского интерфейса представления) и установите для него таксономический термин: родитель. Это говорит представлению взглянуть на родительское поле в каждом искомом термине таксономии. (Обратите внимание, что Drupal включает поле для каждого термина, которое идентифицирует его родителя, но не его братьев и сестер или детей).
Далее мы сообщаем представлению интерпретировать подстановочный знак из URL-адреса, который мы использовали в пути для представления. Определите контекстный фильтр (над выбором отношения) и установите для него таксономию: termID. В форме установите отношение к Родителю в раскрывающемся списке. Это говорит View, что термин, вызываемый в URL, будет применяться в качестве фильтра для «родительского» поля терминов таксономии при их поиске.
Наконец, мы должны завершить уточнение контекстного фильтра. Вы можете указать представлению, что делать, если он не находит ответ в этом разделе формы, если хотите, но мы должны сказать ему, что делать, если он находит решения в запросе. Для этого установите флажок проверки. Установите термин Валидатор на Таксономию и выберите словарь, который применяется к вашей иерархии. Затем выберите либо идентификатор термина, либо имя термина, преобразованное в идентификатор термина, в качестве типа значения фильтра. Если значение, которое вы передаете в%, является идентификатором термина, то все готово. Если переданное значение является термином Name, тогда вы можете установить флажок для преобразования черточек в пробелы. Если у вас есть несколько имен терминов, URL будет иметь тире, которые не соответствуют фактическим пробелам в имени термина. Эта небольшая поправка заставляет их согласиться, поэтому тест проходит успешно.
Наконец, перейдите в область предварительного просмотра и введите имя или идентификатор для термина, который, как вы знаете, имеет детей, и вы должны получить список терминов для детей. Используйте параметры сортировки, чтобы расположить их в нужном вам порядке.