Показывать / НЕ показывать блок на страницах форума


Смотреть на секс лесби без смс
Авторы решений:

Задача

Показывать или не показывать блок на страницах форума.
Не только по пути: 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');
}
?>

Как показать блок только при просмотре и редактировании ноды типа форум догадайтесь сами...

Использованные материалы

Решено: включить/выключить блок на форуме

Полезные ссылки

Creative Commons: ­Attribution-Share Alike 2.5

Данные материалы выложены под лицензией Creative Commons: ­Attribution-Share Alike 2.5. Это значит, что вы можете распространять, копировать и модифицировать эти произведения при условии упоминания авторства оригинала, и при условии, что они также будут распространяться на условиях этой лицензии (то есть, изменённую работу нельзя защитить копирайтом). Подробнее смотри: http://ru.wikipedia.org/wiki/Creative_Commons