Настройка шаблона типа Pathauto для создания заголовков ссылок меню
Pathauto великолепен тем, что позволяет задать псевдоним URL-адреса узла по некоторому шаблону, например "[узел: меню-ссылка: родитель:url:путь]/[узел:заголовок]-DEV" для типа контента DEV.
Я пытаюсь создать единое меню, содержащее ссылки на меню для двух типов контента. Обычно существует узел под названием: nodecontent для каждого типа контента, затем с помощью pathauto мы устанавливаем URL-адрес для контента разработчика как nodecontent-DEV, используя приведенный выше шаблон. Это позволяет нам добавлять строку, и это здорово.
Однако я не могу понять, как сделать это динамически для ссылок меню. Поскольку единственное автоматическое действие, которое выполняет Drupal, - это заполнение заголовка "Заголовок ссылки меню".
Было бы здорово, если бы я мог добавить -DEV к каждой ссылке меню (для этого типа контента), чтобы в одном меню я мог иметь: Страна>Штат> Город и страна>Штат> Город-РАЗРАБОТКА.
1 answers
Вы можете использовать модуль Автоматические заголовки узлов для создания заголовков, включая строку DEV, которая в зависимости от других ваших настроек может появиться в меню:
"auto_nodetitle" - это небольшой и эффективный модуль, который позволяет скрывать поле заголовка содержимого в форме. Чтобы предотвратить появление пустых полей заголовка содержимого, можно настроить его на создание заголовка по заданному шаблону.
Когда установлен модуль токенов, можно использовать различные узлы данные для автоматически сгенерированного заголовка - например, используйте текст поля CCK (начиная с 5.x).
РЕДАКТИРОВАТЬ
Вы также можете создать простой модуль для изменения названия узлов для типа контента разработчика:
Пользовательский Заголовок узла
Custom_node_title.info
name = Custom Title (DEV)
core = 7.x
description = Appends appropriate titles with DEV
package = custom
Custom_node_title.модуль
<?php
/**
* Custom Node Title Module
**/
function custom_node_title_node_presave($node)
{
/* only run if node type is correct and '-DEV' is not found in title to prevent duplication */
if($node->type == 'article' && strpos($node->title, '-DEV') === false)
{
$node->title .= '-DEV'; /* add '-DEV' to title */
$node->menu['link_title'] = $node->title; /* reset menu link to new title */
}
}
В этом примере он изменяет заголовок типа содержимого статьи, чтобы включить -DEV в конце.