Здравствуйте!
Возник вопрос по темизации.
Есть определенный тип нод.
Нужно, чтобы внутри этих нод менялся дизайн сайта вообще, то есть убиралась не нужная графика и прочее.
Я знаю, что можно темизировать страницы, но как темизировать ноду, но чтобы менялся дизайн в целом?
Заранее спасибо
Комментарии
Абсолютно также, как и страницы. Или нода это не страница? А что тогда?
В node-тип.tpl содержится только внутренности этой ноды, то есть контент, но не каркас сайта, который необходимо изменить
А вот в page.tpl.php как раз каркас
Я понимаю, что там каркас
Так как мне изменить этот каркас при определенном типе нод?
Все, понял
Тип ноды - news2
То есть сделать page-news2.tpl ?
Делаю так, но ничего не меняется
Кеш чистил
Попробуйте так:
<?php
$nodetype=$node->type;
if ($nodetype=='bla-bla'):
?>
Подскажите куда это прописать?
В page.tpl.php
<?php
$nodetype=$node->type;
if ($nodetype=='bla-bla'):
// Тут содержимое для типа материала bla-bla
else:
// Тут для остальных типов
endif;
?>
Спасибо
Но вроде немного не то я сделал
Parse error: syntax error, unexpected '<' in /var/www/siteru/sites/all/themes/ruutart/page.tpl.php on line 20
Проблема со скобочками? Их как то экранировать нужно?
Смотря где эта скобочка. Полагаю, что Вы ее в исполняемый код заключили.
У меня идет следующий код:
<?php
$nodetype=$node->type;
if ($nodetype=='portfolio'):
<div id="wrapper">
<div id="container" class="clear-block">?>
и т.д.
Ругается на строчку с
<div id="wrapper">
Все, что php, заключаете в
<?php ?>
, а html - нет.Примеры есть в том же шаблоне.
Иными словами нужно написать следующее:
<?php
$nodetype=$node->type;
if ($nodetype=='portfolio'):
print
'
else
print
'
?
Просто сейчас ругается на вот это
print '<div id="wrapper">
</div>';
else print '.......
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in (
</div>';
)Нафига Вы кавычки ставите?! Php-код нужно заключать в теги кода, а html ни во что не нужно заключать.
$nodetype=$node->type;
if ($nodetype=='portfolio'): ?>
<div id="wrapper">
<div id="container" class="clear-block">
<?php else: ?>
...
И следите за синтаксисом php.
можно в template.php прописать вот такое
<?php
function ИМЯТЕМЫ_preprocess_page(&$vars, $hook) {
if ($vars['node']->type != "") {
$vars['template_files'][] = "page-node-" . $vars['node']->type;
}
}
?>
тогда темизатор начнет понимать шаблоны для разных контент-тайпов, типа, page-node-мой_content_type.tpl.php
Только после реализации этой функции нужно зачистить кэш.
Спасибо большое!
Все сработало
Спасибо, большое!
Все сработало
Попробуйте с [module=themekey] поковыряться. Судя по описанию переключать тему (сиречь дизайн) по типу контента он может.