Как скрыть заголовок любого типа контента без использования модуля?


Я хочу скрыть поле заголовка определенного типа контента (например, Статья ), но без использования каких-либо модулей.

Как я могу это сделать?

 3
Author: Chapabu, 2013-02-15

3 answers

Вы могли бы сделать это в template.php в своей теме, технически не являющейся модулем.

Например:

/**
 * Implements hook_preprocess_node
 */
function MYTHEME_preprocess_node(&$variables){
  if ($variables['node']->type == 'article') {
    $variables['title'] = FALSE;
  }
}

Замените "МИФЕМА" именем вашей темы и очистите все кэши в Admin > Config > Performance, чтобы применить.

 4
Author: David Thomas, 2013-02-16 00:54:07

Дэвид прав, но если вы хотите использовать заголовок $ в другом месте страницы, вы можете использовать этот подход.

Шаг 1. Создайте переменную отображения/скрытия заголовка с помощью функции hook_preprocess_page() в пользовательском модуле (или теме template.php, если вы не хотите использовать модуль):

function MYMODULE_preprocess_page(&$vars) {
  $vars['show_title'] = TRUE; // so that showtitle is true by default
  if (isset($vars['node'])) {
    if ($vars['node']->type == 'event') { // set to false when the content type is event
      $vars['show_title'] = FALSE;
    }
  }
}

Где "событие" - это тип контента, для которого вы хотите скрыть заголовок.

Шаг 2. Исключите заголовок в page.tpl.php добавив условие показать/скрыть заголовок:

<?php if ($title && $show_title): ?>
  <h1><?php print $title; ?></h1>
<?php endif; ?>

Очистите кэш

 4
Author: batigolix, 2013-09-20 10:36:12

node.tpl.php: Проверьте наличие $type перед печатью $title , например, строка #87 изменится на что-то вроде
, если (!$страница &&$тип!="ваш_тип"):

 -1
Author: Tom, 2014-11-20 15:56:28