Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 17, 2023 г.
Выпиливаем мета-тег Generator из заголовочной секции сайта на Drupal. За одно и пару других лишних мета маркеров.
Для этого используем hook_page_attachments_alter в теме оформления сайта. 'Generator' в списке мета информации идет под именем system_meta_generator. ...
Читать
Март 7, 2017 г.
Раньше для связывания публикаций очень популярным был модуль Node Reference. С выходом 7-ки ему на смену пришел Entity Reference, который позволяет создавать ...
Читать
Сентябрь 8, 2021 г.
Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-6a01ac0215462116508912/]
Рендер ...
Читать
Январь 10, 2020 г.
Обычно такой код требуется писать в файлах .install, для модификации структуры ваших полей при обновлении модуля, чтобы не проделывать эту операцию вручную. Также предварительно стоит подумать о переносе данных из удаляемого поля в какое то новое место. ...
Читать