ajaxSnippet?
Чанк такой:
<h2>Вы недавно просматривали</h2>
<div class="catalog" id="[[+key]]"></div>
Если вызов пустой - то на странице выводит
<h2>Вы недавно просматривали</h2>
<div class="catalog" id="много цифр"></div>
Сохранить результат вызова того сниппета в котором у тебя wrapper в плейсхолдер, потом проверить пустой этот плейсхолдер, если да - написать вызов ajaxsnippet
То есь, сначала сделать вызов сниппета, затем, если ответ не пустой, сделать ещё раз вызов этого же сниппета, только через ajaxsnippet??
Wrapper у меня в самом ajaxsnippet
Надо было сразу говорить😀
ajaxsnippet запускает какой-то другой сниппет, соответственно можно его (другой сниппет) вызвать в плейсхолдер и дальше по схеме, но теряется смысл вызова ajaxsnippet если плейсхолдер непустой
В этом случае больше подошло бы кастомное решение, которе позволило бы при асинхронном вызове получать данные по условию
Хм... жаль в самом ajaxsnippet нет возможности писать в плейсхолдер, упростило бы многое. А так непонятно, как в таких ситуациях быть.
А как ты добавишь туда плейсхолдер?
Короче, только js-ом скрывать лишние блоки, если вызов пустой, я так понимаю жто единственный вариант
Переписать сам ajaxsnippet?
ну он всё равно обновляться не будкт уже, почему бы и нет)
ещё мысль посетила. Через AjaxSnippet можно передать произвольный параметр в чанк tpl, также, как и при обычном вызове сниппета без ajax. Но есть одна печалька: произвольный параметр можно передать только в tpl. А в обёртку wrapper он не передается. Можно как-то передать его во wrapper и там использовать?
или может как-то через INLINE делать обертку
Поправить сам сниппет
Кто-то может помочь с этим вопросом? Напишите в личку, пожалуйста.
А чего там править то
Если б знал, сделал бы сам)
https://github.com/modx-pro/AjaxSnippet/blob/master/core/components/ajaxsnippet/elements/snippets/snippet.ajaxsnippet.php#L15C60-L15C60 вот сюда добавь $modx->getChunk($wrapper, $scriptProperties)
Если там добавлена возможность парсить inline $pdo = $modx->getService('pdoTools'); if (!empty($wrapper)) {$wrapper = $pdo->parseChunk($wrapper);} Это можно совместить? или уже оставить getChunk и не париться с inline
Да можешь как угодно. Я просто показал как можно добавить
Обсуждают сегодня