Правило слоя для всех страниц, кроме двух в Orchard CMS

Я пытаюсь создать правило слоя в разделе виджетов, который показывает виджет на всех страницах, кроме двух (или более). Я пробовал несколько вариантов, в некоторых случаях правило исключает одну страницу, но не другую, в других случаях оно также не исключает.

Сначала я не был уверен, как будет работать исключение, я пытался true not url("/page-1") который вернул ошибку "Правило недопустимо: синтаксическая ошибка: неожиданный токен в основном выражении (токен & # 39; не & # 39; в позиции 5)", поэтому я переключился на not url("/page-1") который работает (за исключением только одной страницы).

Я попробовал несколько способов исключить более одной страницы без удачи, в том числе:

not url("/page-1") or not url("/page-2") // not excluded on any pages
not url("/page-1") or (not url("/page-2")) // not excluded on any pages
not url("/page-1") or url("/page-2") // excluded on page-1 only

Я нашел эту проблему, которая подтвердила, что url("/foo") or url("/bar") это то, как вы включаете два URL, что предполагает, что первый пример выше, по крайней мере, близок.

Можно ли отобразить виджет на всех страницах, за исключением нескольких определенных страниц? Также, в любом случае, есть ли другой метод, рекомендуемый для выполнения чего-то подобного, кроме использования правила слоя виджета?

1 ответ

Решение

Это работает:

not (url("/page-1") or url("/page-2"))

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

Другие вопросы по тегам