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

Аватар пользователя Torvild Torvild 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;
}
?>

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

Комментарии

Аватар пользователя Torvild Torvild 14 июня 2012 в 16:25

UPD:

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

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

"Айдар" wrote:

node/*/edit ?

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

Аватар пользователя Shok211 Shok211 14 июня 2012 в 16:37

<?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 FALSE; #
}
?>

Аватар пользователя Torvild Torvild 14 июня 2012 в 16:56

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
Аватар пользователя drupby drupby 14 июня 2012 в 17:31

"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;
}

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

Аватар пользователя Torvild Torvild 14 июня 2012 в 17:38

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;
}

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

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