Настройка pathauto в Drupal 8

Заходим в настройки синонимы URL в раздел Шаблоны:

/admin/config/search/path/patterns
Настройка pathauto в Drupal 8 Drupal, Программирование, Web, IT, Web-программирование, Backend, Url, Cms, Разработка, Программист, Интернет, Длиннопост

Пример №1 — Раздел «Блог»

- Жмем кнопку Add Pathauto pattern;

- В селекте Pattern Type выбираем Content;

- В поле Path pattern пишем шаблон пути;

- Клацаем чекбокс на тип материала Article;

- Указываем название шаблона в поле label и меняем его машинное имя.

Настройка pathauto в Drupal 8 Drupal, Программирование, Web, IT, Web-программирование, Backend, Url, Cms, Разработка, Программист, Интернет, Длиннопост

В поле Path pattert:

[node:title]

Это токен, вместо которого будет подставляться заголовок страницы.

Если страница называется Моя первая статья → URL страницы будет:

/blog/moya-pervaya-statya

Пример №2 — Раздел «Каталог»

Аналогично добавляем новый шаблон Pathauto, но уже для Термина таксономии.

Настройка pathauto в Drupal 8 Drupal, Программирование, Web, IT, Web-программирование, Backend, Url, Cms, Разработка, Программист, Интернет, Длиннопост

Обратите внимание на поле Path pattern:

catalog/[term:parents:join-path]/[term:name]

- [term:name] — это токен, вместо которого будет подставляться заголовок термина таксономии;

- [term:parents:join-path] — это токен, вместо которого будут подставляться заголовки родительских терминов таксономии.


О втором пункте немного поподробнее:

Настройка pathauto в Drupal 8 Drupal, Программирование, Web, IT, Web-программирование, Backend, Url, Cms, Разработка, Программист, Интернет, Длиннопост

Термины могут иметь древовидную структуру. Именно поэтому в адресе подкатегорий должен содержаться адрес их родительских категорий.


Возьмем термин «Яблоки», он является подкатегорией для «Фрукты».

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] просто не сработает.


Теперь, когда готов шаблон для словаря таксономии «Категории», добавим шаблон для типа материала «Товар».

Настройка pathauto в Drupal 8 Drupal, Программирование, Web, IT, Web-программирование, Backend, Url, Cms, Разработка, Программист, Интернет, Длиннопост

Здесь Path Pattern имеет вид:

/catalog/[node:field_category:entity:url:relative]/[node:title]

- [node:title] — заголовок страницы;

- [node:field_category:entity:url:relative] — относительный URL термина таксономии, к которой привязана страница;

- /catalog — URL представления, которое выводит родительские категории.