Добрый день. Прошу помочь в решении следующей задачи.
Необходимо вывести блок на странице с адресом site.ru/results?category[]=3
Пробую
<?php
if(!$_GET['results?category[]=3']){
return TRUE}
?>
не работает.
Подскажите пожалуйста как реализовать. Спасибо.
Комментарии
Модуль context.
Спасибо большое за совет. Но похоже, что для таких адресов он не работает. (у меня не вышло)
Вы пробовали?
Не пробовал.
Но я думаю тут надо не адрес смотреть, а на контекст, т.е. на категорию с id 3.
В вашем примере ошибка, знак вопроса не надо:
<?php
if ($_GET['results?category[]=3']) {
return TRUE
}
?>
И вообще нужно использовать API https://api.drupal.org/api/drupal/includes!bootstrap.inc/function/reques..., https://api.drupal.org/api/drupal/includes!bootstrap.inc/function/reques...
Ещё раз спасибо за участие. Но сам пока решить не могу.
Если я уберу знак вопроса, то это будет уже совсем другой url.
А контекст в виде категории с id 3 я не пойму как тут применить, ведь это не страница таксономии.
В общем я пока в тупике.
Я опечатался, не знак вопрос, а знак восклицания. У вас условие было наоборот, ЕСЛИ НЕ results?category[]=3, то TRUE. А вам ведь нужно наоборот. Поэтому ! лишний.
К сожалению, пока у меня так ни чего и не вышло. Возможно дело в моих руках
Спасибо за помощь. Ищу решение дальше.
Мои размышления привели меня к следующему.
<?php
!isset($_GET['results'])
/*Фильтры выбора*/
&& (!isset($_POST['field_category_tid']) || $_POST['field_category_tid'] == '3') {
return TRUE
}
?>
Но похоже я неправильно указываю фильтры. Идея вроде правильная.
Помогите с реализацией пожалуйста
results это урл, а не get параметр
Спасибо за участие в обсуждении. Не могли бы вы предложить свой вариант правильного кода? Спасибо.
А вот и решение. Спасибо огромное xxandeadxx
<?php
return arg(0) == 'results' && isset($_GET['category']) && in_array(3, $_GET['category']);
?>