Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в Drupal, нужно определить три параметра — системный адрес объекта, новый псевдоним и код языка.
К примеру, для объекта node код может быть следующим:
|
|
//получим данные публикации по ID $node = node_load($nid); //сформируем пакет данных, для псевдонима $path = array( 'source' => "node/{$node->nid}", 'alias' => 'new-alias-url', 'language' => $node->language); //удалим старый путь (если есть) path_delete(array('source' => "node/{$node->nid}", 'language' => $node->language)); //сохраним новое значение path_save($path); |
Если нужно решение для Drupal 6, то копайте в сторону функции path_set_alias().
Данная запись опубликована в 09.03.2017 18:34 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 18, 2023 г.
Шпаргалка по настройке и проведению деплоймента для Drupal (начиная с 8й версии).
Деплоймент выполняется с использованием git, drush, composer и configuration management. На сервере должны выполняться команды в следующей последовательности:
...
Читать
Июль 14, 2023 г.
Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне?
Например, возьмем штатный шаблон file-link.html.twig:
[crayon-69bb9d4494cd8057961851/]
Используем фильтр merge, добавляя нужные атрибуты:
[crayon-69bb9d4494ce0816839401/]
Читать
Ноябрь 14, 2025 г.
В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах.
...
Читать
Март 5, 2024 г.
Для понимания как работает пространство имен в twig экосистемы друпал.
Темы предоставляют в пространство имен свой id, т.н. machine name. По этому имени можно сослаться на конкретную тему, указывая далее имя файла относительно подкаталога /templates. ...
Читать