Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 3, 2017 г.
Сейчас все пользуются внешней статистикой вроде метрики от Yandex. Зачем может понадобится внутренняя статистика?
Внутренняя статистика может пригодиться, ...
Читать
Январь 10, 2020 г.
Обычно такой код требуется писать в файлах .install, для модификации структуры ваших полей при обновлении модуля, чтобы не проделывать эту операцию вручную. Также предварительно стоит подумать о переносе данных из удаляемого поля в какое то новое место. ...
Читать
Август 28, 2021 г.
Сниппет кода, демонстрирующий как alias создаётся в Drupal 9.
Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так:
[crayon-69798f3f88337201328195/]
В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...
Читать
Декабрь 20, 2014 г.
Как подключить CKeditor к Drupal 7 я рассказывал ранее.
После настройки модуль подключит редактор CKeditor к полям редактирования публикаций. А как подключить wysiwyg к собственным формам? В 6-й версии Drupal редактор с помощью модуля CKeditor подключался ...
Читать