Настройка pathauto в Drupal 8
Заходим в настройки синонимы URL в раздел Шаблоны:
/admin/config/search/path/patterns
Пример №1 — Раздел «Блог»
- Жмем кнопку Add Pathauto pattern;
- В селекте Pattern Type выбираем Content;
- В поле Path pattern пишем шаблон пути;
- Клацаем чекбокс на тип материала Article;
- Указываем название шаблона в поле label и меняем его машинное имя.
В поле Path pattert:
[node:title]
Это токен, вместо которого будет подставляться заголовок страницы.
Если страница называется Моя первая статья → URL страницы будет:
/blog/moya-pervaya-statya
Пример №2 — Раздел «Каталог»
Аналогично добавляем новый шаблон Pathauto, но уже для Термина таксономии.
Обратите внимание на поле Path pattern:
catalog/[term:parents:join-path]/[term:name]
- [term:name] — это токен, вместо которого будет подставляться заголовок термина таксономии;
- [term:parents:join-path] — это токен, вместо которого будут подставляться заголовки родительских терминов таксономии.
О втором пункте немного поподробнее:
Термины могут иметь древовидную структуру. Именно поэтому в адресе подкатегорий должен содержаться адрес их родительских категорий.
Возьмем термин «Яблоки», он является подкатегорией для «Фрукты».
URL для этого словаря формируется по шаблону:
catalog/[term:parents:join-path]/[term:name]
Токен [term:name] превратит яблоки в yabloki:
catalog/[term:parents:join-path]/yabloki
Токен [term:parents:join-path] берет заголовки родительских терминов, т.е. Фрукты:
catalog/frukty/yabloki
Если у термина нет родителя, то токен [term:parents:join-path] просто не сработает.
Теперь, когда готов шаблон для словаря таксономии «Категории», добавим шаблон для типа материала «Товар».
Здесь Path Pattern имеет вид:
/catalog/[node:field_category:entity:url:relative]/[node:title]
- [node:title] — заголовок страницы;
- [node:field_category:entity:url:relative] — относительный URL термина таксономии, к которой привязана страница;
- /catalog — URL представления, которое выводит родительские категории.