Как сделать отображение блока в Drupal 7 только на страницах без параметров?

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

Аватар пользователя vitd vitd 25 февраля 2013 в 23:45

Имеются страницы, сформированные вьюс.
Нужно отобразить блок на такой странице, при условии, что параметры фильтров не заданы и пользователь на начальной странице (т.е. адрес имеет вид site.ru /page, но не site.ru /page?field_age_value=All&page=1 и не page?field_age_value=All
Кто-нибудь в силах помочь?

Комментарии

Аватар пользователя vitd vitd 26 февраля 2013 в 13:06

Поля другие, но не суть.

aromaland.by/?field_newbrand_tid=86&field_girlsmen_tid=129

это главная, тут вместо стартовой идет страница вьюс.

такая же ситуация со второстепенными:
aromaland.by/lacoste?field_girlsmen_tid=129

нужно блок текста, который внизу прятать при листании страниц и использовании фильтра
как сделать?

Аватар пользователя Chyvakoff Chyvakoff 26 февраля 2013 в 13:37

"vitd" wrote:
но не site.ru /page?field_age_value=All&page=1 и не page?field_age_value=All

Не равно.
"vitd" wrote:
aromaland.by/?field_newbrand_tid=86&field_girlsmen_tid=129

Сработает если есть $_GET['field_newbrand_tid'] или $_GET['field_girlsmen_tid'].

if($_GET['field_newbrand_tid'] || $_GET['field_girlsmen_tid']){
return FALSE;
}
return TRUE;
Аватар пользователя vitd vitd 26 февраля 2013 в 19:56

"Chyvakoff" wrote:
Сработает если есть $_GET['field_newbrand_tid'] или $_GET['field_girlsmen_tid'].
if($_GET['field_newbrand_tid'] || $_GET['field_girlsmen_tid']){
return FALSE;
}
return TRUE;

Сработало. Но теперь, если в адресе нет этих значений, то выводит:
Notice: Undefined index: field_newbrand_tid в функции eval() (строка 1 в файле /home/parfumka/aromaland.by/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: field_girlsmen_tid в функции eval() (строка 1 в файле /home/parfumka/aromaland.by/modules/php/php.module(80) : eval()'d code).

В php слабо понимаю - полный чайник, но методом тыка натыкал, что будет работать , если сделать вот так:

<?php
if(isset($_GET['field_newbrand_tid']) || isset($_GET['field_girlsmen_tid'])){
return 
FALSE;
}
return 
TRUE;
?>

Chyvakoff, Спасибо

UPD
Теперь блок виден на всех страницах )) где нет параметров, что Выше, осталось придумать, как жестко привязать только к одной главной странице, а во втором случае к одной второстепенной
Как с помощью PHP в друпале добавить проверку на главной странице сайта находится блок или нет?
И как добавить проверку на конкретной ли странице находится блок?

Аватар пользователя vitd vitd 26 февраля 2013 в 20:11

Все решил Smile
Всем спасибо за помощь.
Если кому-то будет нужно - Вот решение:

<?php
$myisfront
drupal_is_front_page();
if(isset(
$_GET['ВПИШИТЕ ИМЯ ПОЛЯ №1']) || isset($_GET['ВПИШИТЕ ИМЯ ПОЛЯ №2']) ||(!$myisfront) ){
return 
FALSE;
}
return 
TRUE;
?>

а вот для любых других страниц

<?php
$myisfront
drupal_is_front_page();
$request_path request_path();
if(isset(
$_GET['ВПИШИТЕ ИМЯ ПОЛЯ №1']) || isset($_GET['ВПИШИТЕ ИМЯ ПОЛЯ №2']) || !drupal_match_path($request_path'chanel') ){
return 
FALSE;
}
return 
TRUE;
?>