Автоматическая генерация пути (path) для ноды (node) в drupal

Ещё одна типовая задача при создании сайтов — это формирование «человекопонятных путей» для ваших публикаций. Можно прописывать их вручную, но удобнее, если такая механическая работа будет выполняться самим сайтом.

Я подразумеваю, что штатный модуль path включен, и вы не хотите по каким то причинам использовать готовые решения по автоматизации. Мне лично кажется, что более правильно включить 30-40 строк в собственный модуль, чем устанавливать дополнительно сторонний модуль.

Для начала зацепимся за hook nodeapi. В путь можно включить значение node id, что позволит сделать его гарантированно уникальным. Ещё я обычно добавляю в путь тип публикации (node type). А основа для составления пути — название публикации, которое мы будем подвергать транслитерации.

Вы можете для каждого типа (node->type) создать собственные правила генерации пути, исходя из соображений SEO или личных предпочтений.

А вот пример функции транслитерации. Она работает с кириллицей UTF-8, преобразуя символы в аналоги на латинице. Кроме кириллицы, она ставит соответствие для ряда прочих символов (скобок, знаков препинания и т.п.). Остальные символы пропускаются.

Мало букафф? Читайте есчо !

Дополняем результаты views

Февраль 14, 2024 г.

Пример того, как можно дополнить результаты views в Drupal 9/10. Задача - вывести для статьи блок со связанными публикациями. В начале нужно было просто выводить последние статьи того же типа, а потом у заказчика возникло желание переопределять выдачу, ...

Читать

Комплекс антиспам мер, примеры для Drupal 6

Январь 17, 2013 г.

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

Читать

Генерируем UUID прямо в шаблоне

Ноябрь 6, 2025 г.

Понадобилось мне сгенерировать уникальный код, чтобы привязать уникальные стили к конкретному контейнеру. Функция random в twig чаще всего достаточна для этой цели. Но хотелось пойти немного дальше, и вытащить сервис генерации UUID. Это нам приводит ...

Читать

Powered by Drupal - что это и как убрать?

Апрель 25, 2017 г.

Блок с текстом "создано на drupal" - объявляется модулем system. Ссылка с названия движка ведет на сайта drupal.org. Для чего этот блок? Возможно, ...

Читать
 

Комментарии к «Автоматическая генерация пути (path) для ноды (node) в drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: