Как можно сделать так чтобы на одном домене, на одном друпале и при этом на каждой странице можно было сделать свою цветовую тему? Можно ли это сделать посредством связи нескольких шаблонов? Тогда как их связать друг с другом?
я делал модуль переключки тем для страниц для которых была галера. не так и сложно. ща...
<?php
function imthswitcher_init() {
if(!function_exists('arg') ) return;
if('node' == arg(0)){
$nid = arg(1);
if(arg(2) ) return;
$node = node_load(array('nid' => $nid));
if ($node && $node->node_images) {
$GLOBALS['custom_theme'] = 'gallerytheme';
}
}
}
?>
$GLOBALS['custom_theme'] - кастомная тема которая становится умолчательной если ее туда ткнуть при ините.
Пишется модуль. и все.
было верно для друпал 5
Просто в проекте было 2 темы. одна для текста - с широкими колонками, вторая для нод галерей с узкими краями.
Надо было при просмотре ноды имеющей картинки врубать вторую тему
Все.
Комментарии
А с чем проблема? Пишем разные ID в одной теме и в node.tpl.php используем их на нужных страницах.
я делал модуль переключки тем для страниц для которых была галера. не так и сложно. ща...
<?php
function imthswitcher_init() {
if(!function_exists('arg') ) return;
if('node' == arg(0)){
$nid = arg(1);
if(arg(2) ) return;
$node = node_load(array('nid' => $nid));
if ($node && $node->node_images) {
$GLOBALS['custom_theme'] = 'gallerytheme';
}
}
}
?>
типа такого. и все )
А если возможно расшифруйте немного общий принцип пожалуйста...
а где именно или как пишем id в теме? и как затем используем их в node?
hook_init
$GLOBALS['custom_theme'] - кастомная тема которая становится умолчательной если ее туда ткнуть при ините.
Пишется модуль. и все.
было верно для друпал 5
Просто в проекте было 2 темы. одна для текста - с широкими колонками, вторая для нод галерей с узкими краями.
Надо было при просмотре ноды имеющей картинки врубать вторую тему
Все.
Так же не забываем что сущетсвует такая функция как
_phptemplate_render($file, $variables)
которая позволяет вам получить штмль контет шаблона путь к которому указан в $file с переданными туда массивом $variables
для смарти _smarty_render