Настройка шаблона типа Pathauto для создания заголовков ссылок меню


Pathauto великолепен тем, что позволяет задать псевдоним URL-адреса узла по некоторому шаблону, например "[узел: меню-ссылка: родитель:url:путь]/[узел:заголовок]-DEV" для типа контента DEV.

Я пытаюсь создать единое меню, содержащее ссылки на меню для двух типов контента. Обычно существует узел под названием: nodecontent для каждого типа контента, затем с помощью pathauto мы устанавливаем URL-адрес для контента разработчика как nodecontent-DEV, используя приведенный выше шаблон. Это позволяет нам добавлять строку, и это здорово.

Однако я не могу понять, как сделать это динамически для ссылок меню. Поскольку единственное автоматическое действие, которое выполняет Drupal, - это заполнение заголовка "Заголовок ссылки меню".

Было бы здорово, если бы я мог добавить -DEV к каждой ссылке меню (для этого типа контента), чтобы в одном меню я мог иметь: Страна>Штат> Город и страна>Штат> Город-РАЗРАБОТКА.

Author: Josh Rabinowitz, 2015-06-04

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 в конце.

 0
Author: Geoff, 2015-06-10 18:20:42