Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 27, 2023 г.
Небольшой примера кода для работы с таксономией в Drupal 10. Мы запросим дерево дочерних терминов и произведем их рендеринг.
Для начала загрузим какой-либо термин
[crayon-6aaa81240c7b5331970273/]
Следующий шаг - получение дочерних элементов ...
Читать
Август 10, 2023 г.
Допустим, вы получаете следующие данные - заголовок, текст статьи, и теги. При этом данные поставляются на двух языках - 'ru' и 'en'. Вам требуется программно сохранить статью и её перевод.
Я полагаю, что уже активирован модуль Content Translation, ...
Читать
Ноябрь 8, 2016 г.
Можно использовать анализ адреса хранимый Drupal в $_GET['q'] и/или анализ частей адреса, получаемых функцией arg(N).
Оба варианта по сути делают одно и тоже - анализ внутреннего адреса, который для публикации имеет вид: node/%NID%.
Я использую функцию ...
Читать
Июнь 3, 2024 г.
Все видимые переменные шаблона можно посмотреть в переменной _context.
Вывести их имена, используя перебор циклом for:
[crayon-6aaa81240cd40930479631/]
В Drupal, если вы используете модуль devel, в twig будет доступна функция dpm:
[crayon-6aaa81240cd46056122873/]
Читать