если надо убрать переменную, то unset($vars['title']);
но зачем?
чтобы потом внезапно получить ошибку инициализации переменной?
выигрыша в производительности тут нет никакого, но появляется торчащий ржавый гвоздь, на который рано или поздно кто-нибудь напорется
м.б. просто не использовать переменную в темплейте?
Вот как раз $vars['title'] = ''; для того чтобы ошибки не получать а тайтл убрать.
Там наверху в вопросе написано, что только в определенной страничке убрать тайтл, для этого думаю самый раз.
в любом случае, проще в самом темплейте сделать print $title по условию
Да проще, только вот не советую никаких доп. выражений в темплейт прописывать. Универсальней через хук, можно не бояться о том что может поменяться темплейт файл или еще что нибудь.
Да, верно, у меня только одно условие, if($title != '')
А так если прописывать отображение для определенных страниц то громозкий получится page.tpl.php, да и не правильно это.
А если задача, например, на страницах ноды определенного типы выводить заголовок в шаблоне ноды, а в шаблоне page.tpl.php его прятать, то тут правильнее через template.php template_preprocess_page делать.
Как лучше сделать. Я хочу что бы у меня по адресу www.site.ru/catalog выводилась переменная $title, а по адресам www.site.ru/catalog/полный просмотр материал/ не выводилась переменная $title
А как сделать что бы на полном просмотре материала определенного типа материала был заголовок с произвольным названием, ну скажем тот же "Каталог" а не заголовок этой ноды.
Комментарии
хук_препроцесс_паге
хук template_preprocess_page
В nвоем случае:
function [название модуля]_preprocess_page($vars){
$vars['title'] = '';
}
если надо убрать переменную, то unset($vars['title']);
но зачем?
чтобы потом внезапно получить ошибку инициализации переменной?
выигрыша в производительности тут нет никакого, но появляется торчащий ржавый гвоздь, на который рано или поздно кто-нибудь напорется
м.б. просто не использовать переменную в темплейте?
Вот как раз $vars['title'] = ''; для того чтобы ошибки не получать а тайтл убрать.
Там наверху в вопросе написано, что только в определенной страничке убрать тайтл, для этого думаю самый раз.
темплейт может неожиданно поменяться на другой
тем более там я так понял убирается при выполнении каких то условий
согласен, но тс хочет убрать именно переменную, а не её значение,
хотя, возможно, он неправильно выразился
в любом случае, проще в самом темплейте сделать print $title по условию
Да проще, только вот не советую никаких доп. выражений в темплейт прописывать. Универсальней через хук, можно не бояться о том что может поменяться темплейт файл или еще что нибудь.
Я имел ввиду именно $vars['title'] = '';
Спасибо за помощь!
Да, верно, у меня только одно условие, if($title != '')
А так если прописывать отображение для определенных страниц то громозкий получится page.tpl.php, да и не правильно это.
Подобная логика в шаблонах допустима, всегда пишут в таком виде.
<h1><?php print $title; ?></h1>
<?php endif; ?>
А если задача, например, на страницах ноды определенного типы выводить заголовок в шаблоне ноды, а в шаблоне page.tpl.php его прятать, то тут правильнее через template.php template_preprocess_page делать.
Как лучше сделать. Я хочу что бы у меня по адресу www.site.ru/catalog выводилась переменная $title, а по адресам www.site.ru/catalog/полный просмотр материал/ не выводилась переменная $title
if(arg(1) != ''){
$vars['title'] = '';
}
Делаю так:
<?php
if(arg(0)=='catalog' && arg(1) != '') {
$vars['title'] = '';
}
?>
не работает
$vars['title'] = '';
}
Все ровно не работает
Вот так работает
<?php
if(arg(0)=='catalog') {
$vars['title'] = '';
}
?>
<?php
if(arg(0)=='catalog' && strlen(arg(0))) {
$vars['title'] = '';
}
?>
Ты имел ввиду
<?php
if(arg(0)=='catalog' && strlen(arg(1))) {
$vars['title'] = '';
}
?>
Но тоже не работает
ужас
?
Иногда лучше играть, чем кодить
ху из ит ?
если это страница ноды то
arg(0)=='node'
Блин, точно! catalog - этот путь делал hook_menu, это же не синоним, а catalog/blablabla это уже синонимы к node/
Спасибо!
А как сделать что бы на полном просмотре материала определенного типа материала был заголовок с произвольным названием, ну скажем тот же "Каталог" а не заголовок этой ноды.