Разные стили для заголовка страницы

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

Аватар пользователя Maddoc Maddoc 19 января 2010 в 22:11

Подскажите, как применить разные стили для отображения заголовка страницы при просмотре термина таксономии и при просмотре ноды?
То есть, когда я просматриваю термин таксономии, то у меня заголовок страницы - это название этого термина. Для него нужен один стиль.
А при просмотре ноды - это заголовок статьи. Для него нужен другой стиль.
Но и то и то является заголовком страницы.
Как их разделить?

Возможно, есть какой-то шаблон замены page.tpl для всех терминов таксономии?

Комментарии

Аватар пользователя Dan Dan 19 января 2010 в 22:19

template_preprocess_page - там сформируйте нужный CSS-класс
page.tpl.php - вставьте его в заголовок
style.css - задайте оформление

Аватар пользователя Maddoc Maddoc 19 января 2010 в 22:36

"Dan" wrote:
template_preprocess_page - там сформируйте нужный CSS-класс

Не очень понял. Нет. Совсем не понял.
Я в этом полный олух, поэтому не могли бы Вы объяснить поподробнее?

Аватар пользователя Geldora Geldora 19 января 2010 в 22:43

"Dan" wrote:
template_preprocess_page - там сформируйте нужный CSS-класс

Вот проще путь - page-taxonomy.tpl.php и page-node.tpl.php, офрмите Титл в разные теги, дивы, классы...

Либо - как советовал Дэн - посмотрите темы типа acquia_marina, zen, zeropoint и т.п., в некоторых из них есть функции, которые работают на определенных страницах - посмотрите как они там работают, скопируйте их.

Аватар пользователя Dan Dan 19 января 2010 в 23:12

Посмотрел http://semeyka.com.ua - у вас там нет H1! Срочно исправляйтесь!

По проблемк. Примерный код:

<?php
// ===> В template.php вашей темы пишите:
function ИМЯТЕМЫ_preprocess_page(&$vars) {
  $node = menu_get_object('node');
  $term = menu_get_object('term',2);
  $vars['headclass'] = ($node? 'nodepage-title' : ($term? 'termpage-title' : ''));
}
// ===> В page.tpl.php:
// вместо
<span>
  <div class="texthead"><?php print $title?></div>
</span>
// вставляем
<h1 class="texthead <?php print $headclass?>"><?php print $title?></h1>
?>

Хозяйке на заметку: блочные элементы не вставляют в строковые, то есть div в span - это не кошерно.