Переменная, чтобы проверить, относится ли страница к какому-либо другому типу контента
Переменные $page
и $teaser
очень полезны, но есть ли способ проверить, не нахожусь ли я в другом типе контента? Например, если я создал тип контента с именем Продукты , что я могу ввести в свой файл шаблона page.tpl.php
, который будет отображать HTML, только если просматриваемая страница имеет тип Продукты?
6
Author: kiamlaluno, 2011-06-08
1 answers
Поместите это в свою тему template.php, заменив "ИМЯ темы" на название вашей темы:
function THEMENAME_preprocess_page(&$variables, $hook) {
$variables['some_html'] = '';
if (isset($variables['node']) && $variables['node']->type == 'product') {
$variables['some_html'] = '<p>Hello world!</p>';
}
}
И используйте это в своем page.tpl.php :
<?php print $some_html; ?>
В качестве альтернативы, если вы хотите сохранить строку HTML в файле шаблона, я бы сделал это в template.php :
function THEMENAME_preprocess_page(&$variables, $hook) {
$variables['print_extra_header'] = false;
if (isset($variables['node']) && $variables['node']->type == 'product') {
$variables['print_extra_header'] = true;
}
}
И используйте это в page.tpl.php :
<?php if ($print_extra_header) : ?> <h1>THIS GETS PRINTED</h1> <?php endif; ?>
Обязательно очистите кэш после создания функции THEMENAME_preprocess_page, иначе Drupal не будет знать, что она есть, и не будет бежать.
12
Author: marcvangend, 2011-06-09 06:47:06