Как на некоторых страницах убрать sidebar - ы?
Прислано: felix
вс, 09/12/2007 - 21:50
Напрмер, на всех страницах /uieforum*.
Возможно, что-то добавить в page.tpl.php? или можно как-то CSS-ом?
- felix's blog
- Для комментирования войдите или зарегистрируйтесь
А можно просто всем блока, которые в сайдбарах настройки дать:
ставите галочку в настройках блока: не отображать на страницах и в окно ниже вписываете
uieforum/*
все, этот блок на страницах с такими адресами не будет отображаться.
Если так все блоки, которые на такой странице есть отключить, то как раз сайдбары и исчезнут.
- Для комментирования войдите или зарегистрируйтесь
Так давно сделал. Только uieforum остался на 500 пикселей в ширину (остался в блоке левой колонки, а пустая правая не пускает растянуть на весь #content).
- Для комментирования войдите или зарегистрируйтесь
Может это потому, что ширина задана фиксированная. Тогда надо в 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; ?> >
- Для комментирования войдите или зарегистрируйтесь
А все-таки остается вопрос как убрать все блоки или сайдбар централизованно на определенных страницах, не правя каждый блок. Т.е. есть список страниц которые для улучшения читабельности должны выводиться без правых блоков, как задать и изменять этот список в одном месте, а не пробегая каждый раз по блокам, чтоб добавить новый путь в игнор?
- Для комментирования войдите или зарегистрируйтесь
Я как-то пользовалась темизацией определенных страниц (типа page-mypage.tpl), потом когда их стало много - вот этим http://drupal.org/node/139766.
Хотя все равно интересно узнать, может есть более удобное решение.
- Для комментирования войдите или зарегистрируйтесь
В файле 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 = ''};
- Для комментирования войдите или зарегистрируйтесь
о, надо попробывать
- Для комментирования войдите или зарегистрируйтесь
<?php if ($sidebar_right) { ?><td id="sidebar-right"> <?php print $sidebar_right ?> </td><?php } ?>
у меня в теме вот этот кусок отвечает за вывод сайдбара. аналогично, $content - за контент страницы, и т.д
это к теме темизации опр. страниц (node-nodetype.tpl.php)
- Для комментирования войдите или зарегистрируйтесь
Xena, не могли бы пояснить про эту ссылку
куда вставлять предлагаемый код
http://drupal.org/node/139766
- Для комментирования войдите или зарегистрируйтесь
А можно просто для нужных страниц создать свои файлы .tpl.php. К примеру, на главной странице нужны сайдбары - для нее стандартный файл с версткой под сайдбары. Для нужных страниц - свои файлы, сверстанные без сайдбаров. Плюс - возможность для каждой страницы возможность задать свое расположение элементов, вплоть до того, что у разных страниц разный дизайн :-)
- Для комментирования войдите или зарегистрируйтесь








Комментарии