pdoResources внутри модификатора
Здравствуйте!
Хочу создать условие, если в адресной строке браузера url текущей страницы открывается вместе с GET параметром, то выводим форму от easyComm. Если в адресной строке url текущей страницы открывается без GET параметра, то выводим сообщение и список ресурсов со ссылками с GET параметрами.
Для получения url текущей страницы вместе с get параметром, воспользовалась предложенным сниппетом Павла.
Вот что, у меня получилось:
Может вы сталкивались с такой задачей и может сможете поделиться решением? Заранее спасибо всем.
Хочу создать условие, если в адресной строке браузера url текущей страницы открывается вместе с GET параметром, то выводим форму от easyComm. Если в адресной строке url текущей страницы открывается без GET параметра, то выводим сообщение и список ресурсов со ссылками с GET параметрами.
Для получения url текущей страницы вместе с get параметром, воспользовалась предложенным сниппетом Павла.
[[!#GET.имя_параметра]]У меня получилось [[!#GET.str]]А для создания условия, попробовала использовать модификаторы и сниппет от Павла.Вот что, у меня получилось:
[[!#GET.str:ne=`0`:then=`[[$showformreview]]`
:else=`<div class="cap-inside col-12 bg-white border-radius-16px px-3 py-4 my-4">
<div>Пожалуйста, выберите ресурс для написания отзыва!</div>
<div>[[pdoResources? &parents=`56` &depth=`0` &tpl=`liststr`]]</div></div>`]]Чанк liststr содержит следующий код:<a href="/add-review/?str=[[+id]]">[[+pagetitle]]</a>`]Но к сожалению, не работает. Условие работает, если убрать запрос с pdoResources.Может вы сталкивались с такой задачей и может сможете поделиться решением? Заранее спасибо всем.
Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В целом, мне необходимо найти решение, если url текущей страницы содержит get параметр ( site,ru/add-review/?str=[[+id]] ), то выводим форму добавления easyComm. А если url текущей страницы без get параметра ( site,ru/add-review/ ), то выводим результат запроса pdoResource.
Может найдется решение? Кто-нибудь сталкивался с такой задачей? Как решили?
самый очевидный вариант, как-то по-тиху переходить на fenom.
Второй вариант переписать условие:
Содержимое wrappchunk чанка:
Спасибо вам за предложенный вариант решения задачи.
Но форма отображается независимо от того, что url текущей страницы содержит get параметр ( site,ru/add-review/?str=[[+id]] или нет. И в том и в другом, отображается форма.
Но все равно, спасибо большое!
Условия
вы уверены что корректно написали условие?
Ведь id у вас всегда будет >0, если вы выводите в сниппете.
Уточните логику.
20 — это id ресурса, для которого будет написан отзыв. На сайте много ресурсов, в которых есть отзывы. Для каждого ресурса можно написать отзыв.
Форма easyComm у меня отделена от страницы отзывов и размещена как отдельная страница.
Поэтому с помощью ?str= передается id для которой форма отзывов easyComm будет привязана.
Если страница открывается без хвостов, т.е так site.ru/add-review/
то выводим текст: Пожалуйста, выберите ресурс для написания отзыва! и список ресурсов, который подготовлен с помощью запроса pdoResources. А форму не выводим.
Если страница открывается с хвостом, т.е site.ru/add-review/?str=N*
то выводим форму easyComm, которая находится в чанке showformreview.
N* — это может быть любая цифра. А текст выберите ресурс и список ресурсов скрываем.
Будет срабатывать, если ресурс не равен 0. те всегда.
Если вы хотите чтобы срабатывало, то следует использовать другое сравнение:
Таким образом:
Надеюсь, что этот вариант сработает.