Как скрыть заголовок любого типа контента без использования модуля?
Я хочу скрыть поле заголовка определенного типа контента (например, Статья ), но без использования каких-либо модулей.
Как я могу это сделать?
3 answers
Вы могли бы сделать это в template.php
в своей теме, технически не являющейся модулем.
Например:
/**
* Implements hook_preprocess_node
*/
function MYTHEME_preprocess_node(&$variables){
if ($variables['node']->type == 'article') {
$variables['title'] = FALSE;
}
}
Замените "МИФЕМА" именем вашей темы и очистите все кэши в Admin > Config > Performance
, чтобы применить.
Дэвид прав, но если вы хотите использовать заголовок $ в другом месте страницы, вы можете использовать этот подход.
Шаг 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; ?>
Очистите кэш
node.tpl.php
: Проверьте наличие $type
перед печатью $title
, например, строка #87 изменится на что-то вроде
, если (!$страница &&$тип!="ваш_тип"):