Артур Шевченко

Артур Шевченко

Был в сети 19 минут назад
Заказы принимаю
Отправить деньги
Во-первых есть два компонента AjaxForm и FormIt. Первый обертка для второго, и если ты выводишь через AjaxForm, то там нет плейсхолдера [[+fi.successMessage]], а в уведомлениях выводится текст указанный в параметре &successMessage. А вывести уведомление внутри формы можно используя событие af_comlete
$(document).on('af_complete', function(event, response) {
   console.log(response.message);
    response.form.reset();
    return false;  
});
Как по мне задача странная, по-моему настройки как раз для этого и нужны, но если уж очень надо, то создай TV где удобно, напиши плагин на OnDocFormSave который будет брать значение из этого TV и записывать в настройки minishop2 запросов в бд к таблице modx_ms2_deliveries.
Как я и говорил в самом первом сообщении, разницы в скорости почти нет. Поэтому включай логику, зачем создавать чанк в бд, делать его статичным и создавать файл, если можно создать сразу файл и его использовать? Феном был внедрён чтобы работать с файлами, это удобнее, поэтому лучше всё что можно запихивать в файлы.
Вот пример сниппета для приема ajax
<?php
// Откликаться будет ТОЛЬКО на ajax запросы методом POST
if($_SERVER['REQUEST_METHOD'] != 'POST' ) {return;}

// Сниппет будет обрабатывать не один вид запросов, поэтому работать будем по запрашиваемому действию
// Если в массиве POST нет действия - выход
if (empty($_POST['action'])) {return;}

// А если есть - работаем
$res = '';
$action = $_POST['action'];
switch ($action) {
    case 'search':
	    $res = $modx->runSnippet('searchResources');
    break;
	
	// А вот сюда потом добавлять новые методы prodFastView
}

// Если у нас есть, что отдать на запрос - отдаем и прерываем работу парсера MODX
if (!empty($res)) {
	die($res);
}
Вызывать некешированным в самом верху страницы
В MODX сниппеты, которые в левом меню на вкладке Элементы, хранятся в БД. Чтобы всё заработало, как я и говорил, нужен файл который будет принимать ajax ( это более правильный вариант) или сниппет, который будет ловить все ajax'ы