Генерация кастомного имени ноды в teaser-e и в full view [решено]

Главные вкладки

Аватар пользователя pilot34 pilot34 8 ноября 2008 в 17:05

У меня есть два content type: album, group. У них есть поля Name, у альбома есть поле int year и связь к группе. Хочется, чтобы заголовок альбома печатался не просто как название альбома, а как
{Group.Name} {Album.Name} {Album.Year}

Как это сделать проще всего?

Название альбома не могу сразу так написать, потому что просто название альбома нужно еще во многих местах, да и нелогично это.

Заранее спасибо.

Комментарии

Аватар пользователя kosilko kosilko 8 ноября 2008 в 17:19

в своей теме в начале файла node.tpl.php пишем примерно следующее

if ($node->type=='album') {
$title=$node->group_name.' '.$node->album_name.' '.$node->year;
}

названия типа group_name я написал навскидку

Аватар пользователя whisk@drupal.org whisk@drupal.org 8 ноября 2008 в 17:53

Есть модуль: http://drupal.org/project/auto_nodetitle.
Шабоны названия нод задаются гибко, но, действует только при создании или обновлении. Если у вас название альбома поменялось, а ноды для этого альбома - нет, то название будет старым.

Второй вариант - прямо в файле node.tpl.php задавать название, или в своем модуле при помощи nodeapi, на событие node_load, например.