У вас ссылка является ссылкой. Переход по ней — это нормально, учитывая, что в href= прописан адрес для перехода. Или пропишите href=«javascript:;», или в обработчике .on(«click»)… return false;

joxi.ru/brRDO4pfpV6y21 joxi.ru/nAyz3VMFBGbkrZ

Какой подкат, не совсем понял, точнее вообще не поля

Про подкат не забывайте.

А мига что, не позволяет работать с отдельными таблицами?

Конечно можно, но: 1) migx'ом проще управлять из бекэнда, дополнять, интегрировать в админку вкладкой; 2) для migx есть стандартная автозагрузка «из коробки», что облегчает задачу. С migx задача в целом становится проще. Но это только на мой взгляд.

А не проще забить на migx и сделать отдельной таблице?

Добрый день. Пытаюсь реализовать ajax отправку писем через FormIt, но что-то, где-то пропустил. При нажатии на submit нас перекидывает на страницу формы(index.php?id=2), хотя поидее мы должны оставаться на первой странице где открыта ajax форма… Код вызова <a href="[[~2]]" class="ajax-form call" >Заказать звонок</a> JS код $(window).ready(function() { $('.ajax-form.call').on("click", function (e) { e.preventDefault(); $.ajax({ type: "POST", cache: false, url: this.href, data: $("#callback").serializeArray(), success: function (data) {

            $.fancybox(data, {

            }); // fancybox
          } // success
        }); // ajax
      }); // on
    //type: 'ajax',
    
     $(window).on('submit', 'form.popup-form', function(e){
                var formData = $('form.popup-form').serialize();
                console.log(formData);
                $.ajax({
                    url: '[[~2]]',
                    data: formData,
                    type: 'post',
                    success: processServerResponse
                })
                processServerResponse('<div style="text-align: center"><img src="assets/templates/site/images/spinner.gif" alt="загрузка" /></div>');
                e.preventDefault;
                return false;
            });
        function processServerResponse(data) {
            $('form.popup-form').html(data);
        }
     }); Код страницы формы <div class="popup popup-form" id="order" style="display:block">

	<p>Заказать звонок</p>
	[[!FormIt?
         &hooks=`spam,email`
         &emailTpl=`emailTpl`
         &redirectTo=`[[*id]]`
         &emailSubject=`Заказан звонок`
         &emailTo=`mail`
         &validate=`name:required,phone:isNumber:required`
         &errTpl=`error`
         &successMessage=`<div class="text-succes">Спасибо! Ваше письмо отправлено.</div>`
         &validationErrorMessage=`<div class="text-error">Внимание! Заполните все поля.</div>`
         &emailFrom=`mail`
         
    ]]
	<form  action="[[~[[*id]]]]" method="post" class="popup-form" id="callback">
		[[!+fi.error_message]]
        [[!+fi.successMessage]]
        [[!+fi.validation_error_message]]
		<input type="text" class="[[!+fi.error.name]]" placeholder="Имя"  name="name" value="[[!+fi.name]]">
		<input type="text" class="[[!+fi.error.phone]]"placeholder="Телефон"  name="phone" value="[[!+fi.phone]]">
		<input type="submit" value="заказать звонок">
	</form>
</div>

Здравствуйте. Возникла потребность создать универсальный запрощик для пользователя (можно сказать фильтр) но такой что бы все запросы пользователь создавал сам. Долго придумывал как это будет выглядеть и наконец то сплагиатил. В моем распоряжении есть узкоспециализированное ПО. Суть приложение сохранение неких объектов в БД и соответственно работа с ними. Так вот, это ПО имеет достаточно интересный конструктор запросов который в моем понимании идеален для моей задачи. http://joxi.ru/l2Z6lwLh530o2J
Конструктор состоит из 2х областей

  1. GUI интерфейс для создания запроса
  2. Текстовое представление запроса Пользователь может формировать различные условия и выполнять набор операций ( = <> >= <= и т.д.). Далее идет самое интересное. Установка атрибутов запроса joxi.ru/EA4vXlKFz9dVmb Атрибуты позволяют фильтровать Объекты по любому из полей которые имеют отношение к этому объекту. Составленный запрос так же можно конвертировать в текст joxi.ru/gmvgbxYSVbyW2a Если попробовать приравнять до чего то более родного то выглядеть это должно так Фильтр для пользователей показать пользователя если он имеет доступ к ресурсу идентификатор которого больше 6 И поле 'value' ресурса не пустое И имя группы пользователя = 'member' Вот примерно так. Теперь о том как же такое можно сделать. На самом деле я сумбурно все это представляю.
  3. нужно сделать привязку к базовому классу в приложении он устанавливается для каждого ресурса явно и в моем случае я думаю это будет также… например через TV ресурса
  4. нужен словарь атрибутов… скорее всего это XML файл чем то схож на schema модели MODX
  5. парсер запроса для перевода его в текст
  6. и собственно создание/выполнение запросов используя getCollectionGraph Хотелось бы услышать советы по поводу реализации, где что лучше использовать… Очень интересует как верно создать XML файл