DrupalBook.org.ua
Готовые решения для сайта на Drupal.Показывать / НЕ показывать блок на страницах форума
Смотреть на секс лесби без смс
Задача
Показывать или не показывать блок на страницах форума.
Не только по пути: forum/*, но и на страницах просмотре и редактирования тем форума.
Решение
В настройках блока ставим галочку напротив "Показать, если данный PHP-код возвращает TRUE (PHP-режим, только для экспертов)." и ниже вводим код:
НЕ показывать блок на СТРАНИЦАХ форума
При этом он будет виден по страницам с адресом forum/*
<?php
$result=true;
if ((arg(0) == 'node') && is_numeric(arg(1))) {
$node = node_load(arg(1));
if ( $node->type == "forum" ) $result=false;
}
return $result;
?>Код возвращает TRUE только, если в данный момент не просматривается документ типа 'forum'.
А раз так - блок выводится всегда, кроме случая просмотра документа типа 'forum'.
Показать блок ТОЛЬКО на СТРАНИЦАХ форума
Показывает блок ТОЛЬКО на страницах форума (включая просмотр и редактирование нод форума)
<?php
if (arg(0) == 'forum') return TRUE;
if (arg(0) == 'node' && is_numeric(arg(1))) {
$result= db_fetch_object(db_query("SELECT n.type FROM {node} AS n WHERE n.nid=%d LIMIT 1", arg(1)));
if ($result->type == 'forum') return TRUE;
}
return FALSE;
?>НЕ показать блок на ВСЕМ форуме
<?php
//НЕ показать блок на страницах форума (включая просмотр и редактирование нод форума)
if (arg(0)=='node' && is_numeric(arg(1))){
$result= db_fetch_object(db_query("SELECT n.type FROM {node} AS n WHERE n.nid=%d LIMIT 1", arg(1)));
if ($result->type == 'forum') return FALSE;
} elseif (arg(0)=='forum') return FALSE;
return TRUE;
?>НЕ показать блок ТОЛЬКО при просмотре и редактировании топика:
<?php
if (arg(0) == 'node' && arg(1)){
$result= db_fetch_object(db_query("SELECT n.type FROM {node} AS n WHERE n.nid=%d LIMIT 1", arg(1)));
return ($result->type != 'forum');
}
?>Как показать блок только при просмотре и редактировании ноды типа форум догадайтесь сами...
Использованные материалы
Решено: включить/выключить блок на форуме
Полезные ссылки
- Страница для печати
- Просмотры: 73
Creative Commons: Attribution-Share Alike 2.5
Данные материалы выложены под лицензией Creative Commons: Attribution-Share Alike 2.5. Это значит, что вы можете распространять, копировать и модифицировать эти произведения при условии упоминания авторства оригинала, и при условии, что они также будут распространяться на условиях этой лицензии (то есть, изменённую работу нельзя защитить копирайтом). Подробнее смотри: http://ru.wikipedia.org/wiki/Creative_Commons