livsi: Блог

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

Как убрать вывод $title для терминов таксономии [Решено]

1 марта 2010 в 6:09

При разработке собственного проекта столкнулся с задачей - убрать отображение $title из шаблона page.tpl.php темы не создавая дополнительного шаблона page_taxonomy.tpl.php, поскольку все его отличие от page.tpl.php сводится к отсутствию вывода переменной $title, и ведут к ненужному раздуванию шаблонов темы.
Так как предварительной обработкой шаблонов ведает template.php в функцию ТЕМА_preprocess_page() вставил:

 if ((arg(0) == 'taxonomy')&&(arg(1) == 'term')) $vars['title']='';

В итоге для пунктов меню вида taxonomy/term/XXX удалось избавится от заголовка категории. Так как заголовок в моей теме отображался в h1-теге, дополнительная темизация выводимого Breadcrumbs последнего значения цепочки в h1 решила задачку SEO.
При решении подобной задачи в теме Sky эту строчку вставлял в файл sites/all/themes/sky/preprocess/preprocess-page.inc в блок кода

/**
 * Handle special cases for CSS classes and id attributes.
 */

switch (arg(0)) {
...
  case 'taxonomy':
        if (arg(1) == 'term') $vars['title']='';
  break;
       
  default:
    $vars['body_attributes']['id'][] = 'page-'. $catch_all;
  break;