Чтобы программно изменить/задать ЧПУ публикации (или другого объекта) в 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 29, 2012 г.
Столкнулся с интересной проблемкой в Drupal 6 при создании мультиязычного сайта.
Сама мультиязычность создавалась довольно типичным способом - пара стандартных модулей locate, content translate + i18n. Для каждого языка был выбран свой префикс пути ...
Читать
Июль 30, 2025 г.
В Drupal при использовании мультисайтовой конфигурации (sites/sites.php) существует скрытая особенность: если домен не найден в $sites, Drupal по умолчанию загружает настройки из sites/default. Это может привести к неожиданным проблемам:
Открытие ...
Читать
Январь 31, 2016 г.
Я рассказывал о замечательном модуле Metatag для Drupal 7. Задачу с выводом мета-описаний он решает на все 100%. У меня была проблема с не выводом мета-тегов для главной страницы при работе с ним.
Вывод удалось восстановить, подключив рендеринг ...
Читать
Январь 27, 2018 г.
Разные типы node view предназначены для темизации публикаций. Но drupal не даёт задавать новые представления из панели администрирования.
Рассмотрим как создавать их программно.
Чтобы в типах отображения публикации появилась новая (-ые) вкладки, ...
Читать