Дня доброго, подскажите как можно выйти из ситуации, нужно что бы блок отображался на страницах к примеру /xxx/*
но не отображался на странице /xxx/1 В слеме боков могу указать только отображение на указанных страницах /xxx/*, но тогда он показывается и на /xxx/1, а мне он там не нужен, как выйти из данной ситуации?
Комментарии
В Drupal 8 один и тот же блок можно клонировать и прописать разные условия видимости для каждого клона.
Ну тогда все равно получится, если я поставлю в клоне 1 условия вывода /xxx/* , то в /xxx/1 он в любом случае отобразится. Это бы прошло при варианте /xxx/1 отображать, а /xxx/2 не отображать.
Вы предполагаете? Если да, то лучше сначала попробовать
Попробовал, не получается
В D7 есть модуль context. В D8 он слабее. Чаще всего можно обойтись без этого модуля, но все же обратите внимание.
Если страница это термин или нода - возможно сделать вьюху с контекстным фильром по TID или NID и во вьюхе задать фильтры для вывода нужной информации.
Конкретно вам ответить не могу, т.к. не совсем понимаю задачу.
Не понимаю например "/xxx/*" - зачем тут звездочка
Это views в виде блока
Звездочка для вывода блока во всех нодах содержащих url типа /xxx/
<?php
if(stristr($_GET['q'], '/xxx/') and $_GET['q'] !='/xxx/1' ) {
return TRUE;
}
return FALSE;
?>
Я бы сделал 2 блока с разными условиями видимости, нежели php условие.
Тут проблема в том, что условие /xxx/* в любом случае будет перекрывать условие /xxx/1 Я пробовал, это помогло бы если бы был вариант /xxx/2 показывать, а /xxx/1 нет. Но дело в том что под условие /xxx/* попадает несколько тысяч страниц, и прописать их руками не вариант. На данный момент выкрутился убрав ноду /xxx/1 в другой тип материала и прописал что его не выводить. Было бы конечно удобнее, если бы была возможность как в яндекс метрике поставить впереди url !, что означало бы исключение этого url.