Как определить, что в данный момент вывожу одну из страниц форума ?
Прислано: Shedko
пт, 13/10/2006 - 22:56
Есть необходимость при выводе страницы знать, а не страничку ли форума в данный момент вывожу. Т.е. банально хочу отключить вывод одного столбца, где навигация сайта, так как на форуме она не нужна + в шапке есть ссылки на основные разделы сайта + есть ниспадающее навигационное меню.
Пыталься использовать:
function _is_forum($arg = NULL) { static $is_forum = FALSE; if ($arg) { $is_forum = $arg; } return $is_forum; }
но этот код срабатывает только на темах форума, а на индексных страницках форума (на пример на первой странице форума, где все разднлы видны) не работает этот код :-(
Может кто подскажет, так как же все таки определить что в данный момент вывожу страницу форума, а ?
- Shedko's blog
- Для комментирования войдите или зарегистрируйтесь
полазил на drupal.org и нашел функцию которая определяла, что текущая страница это админ-страница, по аналогии вышло так
function luna_is_forum() { if (arg(0) == 'forum') { return TRUE; } if (arg(0) == 'node' && ctype_digit(arg(1))) { $node = node_load(arg(1)); if ($node->type == 'forum') { return TRUE; } } return FALSE; }
прописал в template.php - и наконец то работает. :-)
А в page.tpl.php вышел такой кусок,
<?php if (!luna_is_forum()) { ?> <?php if ($sidebar_left) { ?> <td class="rightcol" valign="top"> <?php print $sidebar_left ?> </td> <?php } ?> <?php } ?>
который отрубает левый столбец, где навигация на страницах форума.
- Для комментирования войдите или зарегистрируйтесь
сэнкс, очень юзабельно
- Для комментирования войдите или зарегистрируйтесь
единственное но, не забыть добавить в style.css вашей темы
#forum table { width: 100%; }
чтобы форум растягивался на всю ширину темы/страницы
- Для комментирования войдите или зарегистрируйтесь
Все делается проще, в свойствах блоков. Если не хотите выводить правую колонку блоков, в свойствах всех правых блоков укажите "Показывать на всех страницах кроме перечисленных." А в поле "Страницы " - forum
--
С приветом, Nickolyan
- Для комментирования войдите или зарегистрируйтесь
Для данного случая стандартный способ - просто находка!
Но все же было интересно узнать немного об архитектуре дрюпала :)
- Для комментирования войдите или зарегистрируйтесь
Может и проще, но лень мне каждому блоку прописывать настройки, вот и изголялся с отключением вывода столбца на форумах :-)
- Для комментирования войдите или зарегистрируйтесь
Мда... Любим мы себе трудности создавать... ;) А не проще ли приложить голову и руки к более полезным вещам, которые не решаются стандартными методами?
Я вот например собираюсь разобраться с e-comerce и добавить в него возможность работы с вебмани и яндекс-деньги, ну или на худой конец рупэй. Или вообще свое написать для этих целей.
--
С приветом, Nickolyan
- Для комментирования войдите или зарегистрируйтесь
можно так же просто использовать
page-forum.tpl.php
по содержанию такой же как page.tpl.php только лишнее убрать нужное дописать.
- Для комментирования войдите или зарегистрируйтесь




Комментарии