Если в вашей теме уже используется функция _phptemplate_variables, то исключите из этого скрипта её название.
Тут имеется ввиду, что если в теме уже есть function _phptemplate_variables, то нужно вставить код с этой страницы в существующую функцию убрав из него лишнее. Если стандартный Гарланд выглядит:
<?php function _phptemplate_variables($hook, $vars) { if ($hook == 'page') {
Комментарии
Что-то не заработала эта штука.. (( может быть из-за ПатчАвто...?
А... вернее заработала, но только для основного материала, а тизер как был с заголовком, так и остался
5 года 6 нед
В Гарланде в
node.tpl.phpвот такой код названия документов выводит:<?php if ($page == 0): ?><h1><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h1>
<?php endif; ?>
можно в него кроме проверки типа страницы, добавить проверку типа документа:
<?php if ($page == 0 && in_array($node->type, array('blog', 'poll', 'forum'))): ?><h1><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h1>
<?php endif; ?>
→ node.tpl.php
А у меня почему-то не работает.
У меня в двух типах материалов movie и filmmaker надо скрыть заголовки.
Добавила:
function ($hook, $vars = array()) {switch ($hook) {
case 'movie':
$vars['breadcrumb_title'] = $vars['title'];
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if (in_array($node->type, array('movie'))) {
$vars['title'] = '';
}
}
break;
}
return $vars;
}
А заголовок все равно высвечивается.
5 года 6 нед
Добавила:
function ($hook, $vars = array()) {Наверное это из-за текста :(
Если в вашей теме уже используется функция _phptemplate_variables, то исключите из этого скрипта её название.
Тут имеется ввиду, что если в теме уже есть
function _phptemplate_variables, то нужно вставить код с этой страницы в существующую функцию убрав из него лишнее. Если стандартный Гарланд выглядит:<?php
function _phptemplate_variables($hook, $vars) {
if ($hook == 'page') {
if ($secondary = menu_secondary_local_tasks()) {
$output = '<span class="clear"></span>';
$output .= "<ul class=\"tabs secondary\">\n". $secondary ."</ul>\n";
$vars['tabs2'] = $output;
}
// Hook into color.module
if (module_exists('color')) {
_color_page_alter($vars);
}
return $vars;
}
return array();
}
?>
То вставив в эту
function _phptemplate_variablesи убрав верхние и нижние строчки у этого кода, для movie и filmmaker будет:<?php
function _phptemplate_variables($hook, $vars) {
if ($hook == 'page') {
if ($secondary = menu_secondary_local_tasks()) {
$output = '<span class="clear"></span>';
$output .= "<ul class=\"tabs secondary\">\n". $secondary ."</ul>\n";
$vars['tabs2'] = $output;
}
// Hook into color.module
if (module_exists('color')) {
_color_page_alter($vars);
}
$vars['breadcrumb_title'] = $vars['title'];
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if (in_array($node->type, array('movie', 'filmmaker'))) {
$vars['title'] = '';
}
}
return $vars;
}
return array();
}
?>
У меня не хочет скрывать заголовки. Скрыть нужно тип материала recept. Я вписал такой код:
<?phpfunction _phptemplate_variables($hook, $vars = array()) {
switch ($hook) {
case 'recept':
$vars['breadcrumb_title'] = $vars['title'];
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
if (in_array($node->type, array('recept', 'page'))) {
$vars['title'] = '';
}
}
return $vars;
}
return array();
}
?>
Кстати это под какой друпал? У меня 6-й.