[РЕШЕНО]Настройка видимости блока

14 июня 2012 в 16:07

Привет!

Подскажите как правильно настроить видимость блока!
Нужно чтобы блок не выводился на странице просмотра ноды,а выводился на странице редактирования ноды....

Пробовал так (Pages on which this PHP code returns TRUE (experts only)):


<?php 
if (arg(0) == 'node' && is_numeric(arg(1))) { 
  return 
FALSE;        
    }
if (
arg(0) == 'node' && is_numeric(arg(1)) && arg(2) == 'edit') { 
  return 
TRUE;        
    }
else{
  return 
TRUE;
}
?>

Конечно,ничего не получилось..
Как правильно?

Комментарии

UPD:

И на всех остальных страницах тоже...((((

То есть блок должен показываться на всём сайте кроме главной и страницы просмотра ноды.

"Айдар" wrote:

node/*/edit ?

Так придется туеву хучу путей прописывать Sad
Я не совсем правильно объяснил суть проблемы..

14 июня 2012 в 16:25

drupby wrote:
"Torvild" wrote:
Так придется туеву хучу путей прописывать :(

if (arg(0) == 'node' && is_numeric(arg(1)) && empty(arg(2))) {
  return FALSE;        
    }
elseif (drupal_is_front_page()) {
  return FALSE;        
    }
else{
  return TRUE;
}

Shok

Fatal error: Can't use function return value in write context in modules/php/php.module(80) : eval()'d code on line 2
14 июня 2012 в 16:56

"Torvild" wrote:
Fatal error: Can't use function return value in write c

значит надо так

$arg2 = arg(2);
if (arg(0) == 'node' && is_numeric(arg(1)) && empty($arg2)) {
  return FALSE;        
    }
elseif (drupal_is_front_page()) {
  return FALSE;        
    }
else{
  return TRUE;
}

так ошибки не будет

14 июня 2012 в 17:31

drupby wrote:
"Torvild" wrote:
Fatal error: Can't use function return value in write c

значит надо так

$arg2 = arg(2);
if (arg(0) == 'node' && is_numeric(arg(1)) && empty($arg2)) {
  return FALSE;        
    }
elseif (drupal_is_front_page()) {
  return FALSE;        
    }
else{
  return TRUE;
}

так ошибки не будет

Да,всё работает отлично!
Спасибо огромное!)))

14 июня 2012 в 17:38