Не выполняется условие 'empty'
Не выполняется следующие условие, прописанное в шаблоне:
Во вкладке «настройки» категории прописано следующее:
Если удалить из категории вызов pdoPage, то все работает нормально и условие отрабатывает и выводит.
В исходном коде в выдаче результата (при вызове pdoPage и пустой категории) — пусто, но условие не обрабатывается и чанк не выводится (пробовал тоже самое с простым текстом — результат тот же).
Проблема не критичная и даже не второстепенная, т.к. все категории заполнены всегда. Но хотелось бы иметь такую возможность выводить сообщение, если контента нет, ведь всяко может быть. Заранее спасибо :)
[[*content:empty=`[[$system_message]]`]]
Во вкладке «настройки» категории прописано следующее:
[[!pdoPage?
&element=`msProducts`
&parents=`[[*id]]`
&limit=`24`
&pageLimit=`10`
&tpl=`shop_items`
&sortdir=`DESC`
&cache=`1`
&cacheTime=`2600000`
&cache_user=`1`
&showHidden=`0`
]]
[[!+page.nav]]
Если удалить из категории вызов pdoPage, то все работает нормально и условие отрабатывает и выводит.
В исходном коде в выдаче результата (при вызове pdoPage и пустой категории) — пусто, но условие не обрабатывается и чанк не выводится (пробовал тоже самое с простым текстом — результат тот же).
Проблема не критичная и даже не второстепенная, т.к. все категории заполнены всегда. Но хотелось бы иметь такую возможность выводить сообщение, если контента нет, ведь всяко может быть. Заранее спасибо :)
Комментарии: 7
Empty — довольно таки строгое условие. Между вызовом сниппета и [[!+page.nav]] есть два перевода строки. А это уже считается непустым содержанием. Так что empty отрабатывается отлично. ;)
Два перевода строки убрал, ставил все в одну строку, без пробелов — не помогло.
Я в программировании не силен, но что-то подобное подозревал :) На что заменить данное условие тогда?
Я в программировании не силен, но что-то подобное подозревал :) На что заменить данное условие тогда?
Как вариант — можно выставить плейсхолдеры &totalVar=`total` &toPlaceholder=`results` и сегмент с результатами и пагинацией обернуть в него, с желаемым условием:
[[+total:is=`0`:then=`Пусто`:else=`
[[+results]]
[[!+page.nav]]
`]]
Увы. Попробовал данную конструкцию: при 0 товарах выводит результат, что «не пусто» :(
[[+total]] выводит 4
Хотя никаких подкатегорий или товаров нет.
[[+total]] выводит 4
Хотя никаких подкатегорий или товаров нет.
Изменил +total на другое имя — все заработало.
Это потому что total — плейсхолдер по умолчанию у всех сниппетов pdoTools. /то может быть меню, или что-нибудь еще.
Так что, в следующем комменте ты правильно сменил это имя на другое.
Так что, в следующем комменте ты правильно сменил это имя на другое.
Спасибо за интересную идею. Днем попробую так сделать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.