Как на некоторых страницах убрать sidebar - ы?

Прислано: felix

вс, 09/12/2007 - 21:50

Другие статьи по теме:

Напрмер, на всех страницах /uieforum*.
Возможно, что-то добавить в page.tpl.php? или можно как-то CSS-ом?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано gorr в пн, 10/12/2007 - 01:20.

А можно просто всем блока, которые в сайдбарах настройки дать:
ставите галочку в настройках блока: не отображать на страницах и в окно ниже вписываете
uieforum/*
все, этот блок на страницах с такими адресами не будет отображаться.
Если так все блоки, которые на такой странице есть отключить, то как раз сайдбары и исчезнут.


Опубликовано felix в пн, 10/12/2007 - 06:55.

Так давно сделал. Только uieforum остался на 500 пикселей в ширину (остался в блоке левой колонки, а пустая правая не пускает растянуть на весь #content).


Опубликовано Xena в пн, 10/12/2007 - 08:16.

Может это потому, что ширина задана фиксированная. Тогда надо в page.tpl.php при задании ширины (или стиля) для центральной части делать проверку типа такого:

<div id=content
<?php if ($sidebar_left && $sidebar_right): 
<?php print "style='width:800px'";?>
<?php else: ?>
<?php print "style='width:500px'";?>
<?php endif; ?>
>


Опубликовано orbisnull в пн, 10/12/2007 - 09:59.

А все-таки остается вопрос как убрать все блоки или сайдбар централизованно на определенных страницах, не правя каждый блок. Т.е. есть список страниц которые для улучшения читабельности должны выводиться без правых блоков, как задать и изменять этот список в одном месте, а не пробегая каждый раз по блокам, чтоб добавить новый путь в игнор?


Опубликовано Xena в пн, 10/12/2007 - 10:50.

Я как-то пользовалась темизацией определенных страниц (типа page-mypage.tpl), потом когда их стало много - вот этим http://drupal.org/node/139766.
Хотя все равно интересно узнать, может есть более удобное решение.


Опубликовано gorr в пн, 10/12/2007 - 12:29.

В файле template.php вписываешь функцию
function _phptemplate_variables($hook, $vars) {
if ($hook == 'page') {
$mypath = menu_get_item(menu_get_active_item());
$vars['my_path'] =$mypath['path']; // получили внутренний адрес страницы
}
return $vars;
}

далее в файле page.tpl.php можно создавать условия типа
if ($my_path == 'node/10/view') {$sidebar = ''};


Опубликовано Valeratal в чт, 15/05/2008 - 05:51.

о, надо попробывать


Опубликовано wanders.32 в чт, 15/05/2008 - 09:01.

<?php if ($sidebar_right) { ?><td id="sidebar-right">
      <?php print $sidebar_right ?>
    </td><?php } ?>

у меня в теме вот этот кусок отвечает за вывод сайдбара. аналогично, $content - за контент страницы, и т.д
это к теме темизации опр. страниц (node-nodetype.tpl.php)


Опубликовано Valeratal в чт, 15/05/2008 - 17:23.

Xena, не могли бы пояснить про эту ссылку
куда вставлять предлагаемый код
http://drupal.org/node/139766


Опубликовано Nodachi в вт, 16/09/2008 - 09:54.

А можно просто для нужных страниц создать свои файлы .tpl.php. К примеру, на главной странице нужны сайдбары - для нее стандартный файл с версткой под сайдбары. Для нужных страниц - свои файлы, сверстанные без сайдбаров. Плюс - возможность для каждой страницы возможность задать свое расположение элементов, вплоть до того, что у разных страниц разный дизайн :-)


Новое на сайте