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

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

Аватар пользователя livsi livsi 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;

Комментарии

Аватар пользователя cdrpro cdrpro 20 октября 2010 в 17:04

Что то не работает первый код в template.php. Мож кто знает, почему?
P.S. Не работает потому что нужно писать $variables а не $vars

Аватар пользователя foax foax 29 октября 2010 в 13:43

А для какой версии drupal это решение?
К сожалению у меня на 6ке не работает. Имею веду первый код.

Извиняюсь вопрос снят. Все заработало. Хотя немного странно.
К стати, у меня не работало $variables, зато так все работает $vars