How modx ajax display migx & amp; value in snippet?

  • 0
    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!