171 похожих чатов

Добрый вечер) Подскажите, как в чанке-обертке wrapper проверить результат работы

ajaxSnippet?

Чанк такой:
<h2>Вы недавно просматривали</h2>
<div class="catalog" id="[[+key]]"></div>

Если вызов пустой - то на странице выводит
<h2>Вы недавно просматривали</h2>
<div class="catalog" id="много цифр"></div>

24 ответов

84 просмотра

Сохранить результат вызова того сниппета в котором у тебя wrapper в плейсхолдер, потом проверить пустой этот плейсхолдер, если да - написать вызов ajaxsnippet

Дмитрий- Автор вопроса
Артур Шевченко💀
Сохранить результат вызова того сниппета в котором...

То есь, сначала сделать вызов сниппета, затем, если ответ не пустой, сделать ещё раз вызов этого же сниппета, только через ajaxsnippet??

Дмитрий
То есь, сначала сделать вызов сниппета, затем, есл...

ajaxsnippet запускает какой-то другой сниппет, соответственно можно его (другой сниппет) вызвать в плейсхолдер и дальше по схеме, но теряется смысл вызова ajaxsnippet если плейсхолдер непустой

В этом случае больше подошло бы кастомное решение, которе позволило бы при асинхронном вызове получать данные по условию

Дмитрий- Автор вопроса
Артур Шевченко💀
ajaxsnippet запускает какой-то другой сниппет, соо...

Хм... жаль в самом ajaxsnippet нет возможности писать в плейсхолдер, упростило бы многое. А так непонятно, как в таких ситуациях быть.

Дмитрий- Автор вопроса
Артур Шевченко💀
А как ты добавишь туда плейсхолдер?

Короче, только js-ом скрывать лишние блоки, если вызов пустой, я так понимаю жто единственный вариант

Дмитрий- Автор вопроса
Артур Шевченко💀
Или это☝️

Переписать сам ajaxsnippet?

Дмитрий- Автор вопроса
Артур Шевченко💀
Типа того

ну он всё равно обновляться не будкт уже, почему бы и нет)

Дмитрий- Автор вопроса
Артур Шевченко💀
Типа того

ещё мысль посетила. Через AjaxSnippet можно передать произвольный параметр в чанк tpl, также, как и при обычном вызове сниппета без ajax. Но есть одна печалька: произвольный параметр можно передать только в tpl. А в обёртку wrapper он не передается. Можно как-то передать его во wrapper и там использовать?

Дмитрий- Автор вопроса
Артур Шевченко💀
Типа того

или может как-то через INLINE делать обертку

Дмитрий- Автор вопроса
Миша
Поправить сам сниппет

Кто-то может помочь с этим вопросом? Напишите в личку, пожалуйста.

Дмитрий- Автор вопроса
Миша
А чего там править то

Если б знал, сделал бы сам)

Дмитрий
ещё мысль посетила. Через AjaxSnippet можно переда...

https://github.com/modx-pro/AjaxSnippet/blob/master/core/components/ajaxsnippet/elements/snippets/snippet.ajaxsnippet.php#L15C60-L15C60 вот сюда добавь $modx->getChunk($wrapper, $scriptProperties)

Дмитрий- Автор вопроса
Миша
https://github.com/modx-pro/AjaxSnippet/blob/maste...

Если там добавлена возможность парсить inline $pdo = $modx->getService('pdoTools'); if (!empty($wrapper)) {$wrapper = $pdo->parseChunk($wrapper);} Это можно совместить? или уже оставить getChunk и не париться с inline

Дмитрий
Если там добавлена возможность парсить inline $pdo...

Да можешь как угодно. Я просто показал как можно добавить

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта