Нужно сделать чтобы был разный бэкграуд и лого для разных типов материалов (относящихся к разным терминам таксономии).
какими способами это можно реализовать?
я попробывал сделать так:
в page.tpl.php добавил проверку
<?php
if ($_SERVER['REQUEST_URI']=='/test/foto' | $node->tid==4)
{
$logo = 'http://test.ru/test/logo2.png';
$dop_styles='http://test.ru/test/css/second.css';
}?>
для таксономии попробовал $node->tid==XXX, не работает... как можно получить ID термина стандартными функциями? может я чего недоглядел?
Комментарии
print_r($node->tid);
Можно еще через css-инъекцию.
«как можно получить ID термина стандартными функциями? может я чего недоглядел?»
функция
arg()
вот...если в node.tpl прописать
<?php foreach($node->taxonomy as $term)
{
if ($term->tid==4)
{echo "abc";}
}
?>
то на всех нодах данного типа добавится этот текст, но если этот код запихать в page.tpl, работать перестает. я так понимаю, page.tpl не понимает переменную $node, а следовательно и $term.
как заставить его воспринимать код? попробывал написать global $node, но это не изменило сути дела..
у тебя на странице несколько терминов?
у меня есть термин Фотогалерея.
есть 1 - страница термина фотогалерея (там выводится список нод для данного термина) и 2 - ноды которые относятся к термину.
первое я реализовал, т.е. для одной страницы я привязал отдельную css'ку это не проблема, а вот для каждой ноды отсносящихся к данному термину не получается... ну,конечно, можно привязывать это ручками, но хочется автоматизировать данный процесс.
Модуль «Term Fields» позволит тебе задавать фон для каждого термина через веб (admin/content/taxonomy).
Для страницы term/10
Получить данные поля fon в page.tpl.php
$fon = db_result(db_query("SELECT fon FROM {term_fields_term} WHERE tid = %d", arg(1)));
Для страницы node/48
Получить данные поля fon в node.tpl.php
{
$fon = db_result(db_query("SELECT fon FROM {term_fields_term} WHERE tid = %d", $term->tid));
}
а что-нить без установки CCK никак?)
Мне кажется это самый удобный вариант. И при создании нового термина не надо в код лезть.
В темплейте страницы page.tpl.php извлекаете массив $variables['node']->taxonomy, его ключами будет термины. А дальше не проблема. Но вообще это лучше сделать в hook_preprocess_page, а в темплейт вставить уже готовую переменную
Ребят, подскажите то делать в моём случае?
http://www.drupal.ru/node/95045
Это меня спасёт?
<?php foreach($node->taxonomy as $term)
{
if ($term->tid==4)
{echo "abc";}
}
?>