Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 28, 2014 г.
У меня эта ошибка всплыла для поля с автозаполнением, когда список значений генерировался из PHP кода. Занималась генерацией списка значений вот такая функция:
[crayon-69fc4b78c036d783850112/]
Грабли обнаружились в случаях, когда поле title содержал ...
Читать
Октябрь 27, 2017 г.
Почему клерки так любят excel? Это очевидно. :)
В связи с этим, я заинтересовался есть ли решения для Drupal, которые позволяют вставить поле (или ...
Читать
Апрель 27, 2023 г.
Небольшой примера кода для работы с таксономией в Drupal 10. Мы запросим дерево дочерних терминов и произведем их рендеринг.
Для начала загрузим какой-либо термин
[crayon-69fc4b78c062a089576668/]
Следующий шаг - получение дочерних элементов ...
Читать
Август 30, 2021 г.
Пример кода как рендерить блок views с программной установкой contextual filters.
Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров. ...
Читать