Роман

Роман

Был в сети 11 июля 2025, 11:54
Заказы принимаю
Подскажите, если на странице будет две формы, они будут работать? К примеру reCaptchaV3 этого сделать не может, нужно через костыль в виде скрипта, который сбрасывал через указанное время отправку и обновлял ключи.
Всем привет. Подскажите, как обойти?

На странице есть две формы, в каждой форме есть два блока, по логике, после отправки формы один блок срывается, а другой блок открывается.

Но т.к. на странице две формы срабатывает код у первой по коду на самой странице

[[!AjaxForm? 
	&snippet=`FormIt` 
	&emailTpl=`tplMail`
	&hooks=`email`
	&validate=`phone:required, fastname:blank`
	&frontend_css=``
	&emailSubject=`Обратная связь с сайта [[++site_name]]`
	&emailFromName=`[[++site_name]]`
	&emailTo=`{1 | resource: 'tplMail'}`
	&emailFrom=`[[++emailsender]]`
	&validationErrorMessage=`Пожалуйста, исправьте ошибки!`
	&successMessage=`Ваше сообщение успешно отправлено`
	&form=`@CODE:
		<form action="[[~[[*id]]]]" method="post" id="callbackform" class="ajax_form">
			<div id="form-fields">
				<input type="text" id="fr_name" name="name" value="[[+fi.name]]">
				<input type="text" id="fr_phone" name="phone" class="m-phones" value="[[+fi.phone]]" required="">
				<input type="submit" class="btn" data-default="Заказать звонок" value="Заказать звонок">
			</div>
			<div id="form-thanks" style="display: none;">
				<span class="title">Спасибо за ваше обращение!</span>
				<p>Мы свяжемся с Вами в ближайшее время.</p>
			</div>
		</form>
	` 
]]

// в второй формы 
<form action="[[~[[*id]]]]" method="post" id="consultationform" class="ajax_form">

// сам JS, пытался разбить на ID формы, но не срабатывает
<script>
$(document).ready(function() {
    AjaxForm.Message.success = function() {};
});
$(document).on('af_complete', function(event, response) {
  var form = response.form;
  if (form.attr('id') == 'callbackform') {
		$("#form-fields").fadeOut();
		$("#form-thanks").fadeIn();
		e.preventDefault();
  }
  if (form.attr('id') == 'consultationform') {
		$("#form-fields").fadeOut();
		$("#form-thanks").fadeIn();
		e.preventDefault();
  }
});
</script>
Реализовал двумя кастомными селектами, выглядит вот так: joxi.ru/4Ak5jo4CV1nvXm

&filters=`
	ms|linear_width,
	ms|linear_length
`

&tplFilter.outer.ms|linear_width=`tpl.mFilter2.filter.selectSizesLeft`
&tplFilter.row.ms|linear_width=`tpl.mFilter2.filter.option`

&tplFilter.outer.ms|linear_length=`tpl.mFilter2.filter.selectSizesRight`
&tplFilter.row.ms|linear_length=`tpl.mFilter2.filter.option`
Да именно так, идея в том, чтобы обозвать фильтр «Размеры» и в нем будем параметры, условно «Ширина (от)» и «Длина (до)»

В итоге получится, что ты выбираешь «Ширина от 6» и «Длина до 8». Хотелось бы сделать ползунком по типу как фильтруется «Цена», но не знаю как рализовать.

Пока остановился на мысли, сверстать кастомное поле где в выпадающем списке будут два отдельных значения
Вроде все правильно сделал, но не заводится:

<div class="about-info">
    {set $rows = $_modx->resource.infoBox | fromJSON}
    {foreach $rows as $row}
        <div class="col-md-12">
            <div class="item">
                {set $childRows = $row.imageBox | fromJSON} - указываю вторую TV верно?
                {foreach $childRows as $chRow}
                    <div class="image-box">
                        <img src="{$chRow.images}" alt="">
                    </div>
                {/foreach}
                <div class="text-box">
                    <div class="text">
                        <span>{$row.title}</span>
                        {$row.text}
                        <a href="{$row.link}">{$row.linktext} <i>🠒</i></a>
                    </div>
                </div>
            </div>
        </div>
    {/foreach}
</div>
Спасибо, это я видел. Тут проблема в том, что будет 100 разделов и 100 админов, каждый должен будет видеть ТОЛЬКО свой раздел. Если идти путем как по ссылке выше, то получится невероятный колхоз (((
Эту статью я прочел. Просто если по ней идти, то мне нужно будет создать 100 групп пользователей, где каждая группа будет отвечать за свой раздел. Это очень заморочено, надеялся найти более простой вариант решения.