How modx ajax display migx & amp; value in snippet?
-
Good day
I ran into a problem there is a migx (group) field and a nested migx (product) in it, which I display via ajax.
as a rule of thumb to specify & amp; value = `[[+ tovars]]`? does not work like this.
below is the code of the script and snippet:
<!-- скрипт запроса и обработки --> <script type="text/javascript"> $(document).ready(function() { // Вешаем обработчик события "клик" на все ссылки с классом $(document).on('click', 'a.ajax_link', function(e) { $('#result').empty(); $('#result').html('<span uk-spinner="ratio: 2"></span>'); // Берем действие из атрибута data-action ссылки var action = $(this).data('action'); var value = $(this).data('value'); // Ajax запрос к текущей страницы (а на ней наш сниппет) методом post $.post(document.location.href, {action: action,value}, function(data) { // Выдаем ответ $('#result').html(data); }) e.preventDefault(); }) })
<?php // Откликаться будет ТОЛЬКО на ajax запросы if (empty($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;} // Сниппет будет обрабатывать не один вид запросов, поэтому работать будем по запрашиваемому действию // Если в массиве POST нет действия - выход if (empty($_POST['action'])) {return;} // А если есть - работаем $res = ''; switch ($_POST['action']) { case 'tovmodal': $params = array(); $params['value'] = '[[+tovars]]'; // ДУМАЮ ПРОБЛЕМА В ЭТОМ МЕСТЕ $params['tpl'] = 'tovars_id'; $params['where'] = '{"state:=":"Да"}'; $res = $modx->runSnippet('getImageList', $params); break; } // Если у нас есть, что отдать на запрос - отдаем и прерываем работу парсера MODX if (!empty($res)) { die($res); }
AJAX Caroline Bowen, Mar 20, 2020
0 Answers
Your Answer
To place the code, please use CodePen or similar tool. Thanks you!