Отоброжение блоков...

Главные вкладки

Аватар пользователя OdinTMD OdinTMD 20 сентября 2007 в 10:58

Нужно было чтоб блок не показывался только при отображении полного материала, а в др. Случаях показывался...

Решил вопрос так:

Показывать блок на определенных страницах:
* Показать, если данный PHP-код возвращает TRUE (PHP-режим, только для экспертов).

<?php
unset ($blokneed);
$blokneed = explode("/", $_SERVER['REQUEST_URI'] );
if ($blokneed[1] == "node" && $blokneed[2] && !$blokneed[3]) return FALSE;
else return TRUE;
?>

Может есть более правильное решение?

Комментарии

Аватар пользователя OdinTMD OdinTMD 20 сентября 2007 в 11:19

С Маской столкнулся со сл. проблемой:

Пример:
node - блок справа должен быть виден
node/1 - блок справа не должен быть виден
node/1/edit - блок справа должен быть виден
...

Аватар пользователя RISK RISK 20 сентября 2007 в 14:12

Вопрос понравился. Поэксперементировал, вот так получается:

Show block on specific pages: → Show on only the listed pages.
node
*/edit

node — блок справа виден
node/1 — блок справа не виден
node/1/edit — блок справа виден
… ?

Smile

Аватар пользователя edhel edhel 20 сентября 2007 в 19:24

тогда лучше
<?php
if (arg(0) == "node" && arg(1) && !arg(2)) return FALSE;
else return TRUE;
?>

Еще лучше:

<?php
return arg(0) == "node" && arg(1) && !arg(2);
?>

Аватар пользователя igdrasil@drupal.org igdrasil@drupal.org 21 сентября 2007 в 8:40

2edhel
я бы и сам так написал, но из-за лени просто переделал пост автора
2RISK
не подходит, кроме /edit могут быть еще варианты, /add, /delete ....