Всего 123 803 комментария

Роман
17 марта 2024, 11:07
0
Всем привет. Подскажите, как обойти?

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

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

[[!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>
Prihod
17 марта 2024, 02:29
0
все должно обновиться, может поле не так называется выведи все поля
print_r($productData->toArray());
Станислав
16 марта 2024, 22:29
0
$productData = $modx->getObject('msProductData',$product_id);
$productData->set('my_var','my_val');
$productData->save();

Пробую таким образом обновить данные, в своем скрипте, но ничего не обновляется
Алексей Смирнов
16 марта 2024, 22:16
0
нужно верно передавать параметры и возможно заработает корректно.
НО. что мешает вам в одном плагине через необходимые условия разрулить применение кода в событиях?
Тем более раз вы выбрали это событие, то вы хотите просто цену отображения же менять? так? или цену добавления в корзину? потому что если последнее, то нужно другое событие.
epic
16 марта 2024, 11:02
0
твой вариант пробовал и так и так не помогло.
вдруг кому поможет сработал такой:
{foreach $options as $option}
    {if '' in $option.value}
    
    {else}
        <li>
            <label ><span>{$option.caption}:</span></label>
            <p>
                {if $option.value is array}
                    {$option.value | join : ', '}
                {else}
                    {$option.value}
                {/if}
                {$option.measure_unit}
            </p>
        </li>
    {/if}
{/foreach}
Vit
Vit
15 марта 2024, 16:31
0
Здравствуйте.
Как адаптировать плагин под MODx 3?
Под MODx 3 не читает значения из полей пользователя, ни из modUser, ни из modUserProfile.

Получаются пустые значения, а при сохранении, в БД ничего не сохраняется :(
Ольга
15 марта 2024, 11:04
0
здравствуйте! а есть еще варианты, в чем косяк, если с AjaxForm в «Системных настройках», раздел «Сессии и куки», параметр «session_cookie_path» поменяли на «/», а сайт все равно пишет 2 сессии. с одной страницы письмо улетает, при переводе уже не работает
Олег Захаров
15 марта 2024, 02:33
0
Спасибо! Как раз что-то подобное нужно было сделать и Вы прям вовремя.
Олег Захаров
15 марта 2024, 02:14
1
0
Не совсем понял в чем проблема, покажу как я делал — и у меня все работает без проблем:
Настройки контекста (затер данные немного, без разрешения собственника не могу светить):
или ссылка на фото на Яндекс.Диск https://disk.yandex.ru/i/K_HAhwSm7znIbg
Название в Общей информации:
или или ссылка на фото на Яндекс.Диск
https://disk.yandex.ru/i/kbMoT84UJfDNWA
Как видно на картинке название контекста указываю домен кириллицей и абракадаброй преобразованных на латиницу непонятно нечелевочески названий, чтобы было легче ориентироваться в админке и при переключении контектстов.
Дмитрий
15 марта 2024, 01:32
+1
Это, конечно, очевидно. Статья рассчитана на тех, кто не пользуется указанными фреймворками.
steve.kon
14 марта 2024, 18:23
0
Убрав у 1000-ых значений мм, всё заработало.
До 1000 продолжают работать и с мм…
steve.kon
14 марта 2024, 16:41
0
Пробую без мм
Понимаю, что мм лишние и работать не должно, но работало. А перестало только когда 1000мм + появилось.
Похоже на какое-то ограничение длины поля…
Артур Шевченко
14 марта 2024, 15:55
0
Ты в слайдер пихаешь строки и хочешь чтобы он работал? Слайдер работает только с числами.
Сергей Карпович
14 марта 2024, 15:19
0
завелось с использованием полного ui, не кастом
Сергей Карпович
14 марта 2024, 14:59
0
Почему то такой вариант не работает у меня…
Сергей
14 марта 2024, 14:55
0
Всем примет, может кто-то решал уже подобное…
Конфликт кастомного модуля pricecar (применяет цену к товарам, относительно того в какой группе находится пользователь) на событие msOnGetProductPrice с msPromoCode2. Если приоритет msPromoCode2 выше, то промокод применяется, если ниже, то пишет что нет товара к которым можно применить, а модуль pricecar отображает цену в корзине не корректно, если приоритет выше у msPromoCode2.
steve.kon
14 марта 2024, 14:01
0
Значения вообще вот так подаются…


Надо было, конечно, и без мм и не списком, а автометкой, но уже у очень многих товаров параметр проставлен, чтобы менять…

И не смотря на наличие «мм» — у товаров (и категорий) до 1000мм — проблем со slider нет, а как только они назначены — ломается
steve.kon
14 марта 2024, 12:25
0
Я вывел все товары этой категории чисто с этим полем, тоже думал что где-то ошибка/опечатка…
Визуально не обнаружил.
Если вырезать пробелы — на каком уровне это делать? В настройках самого доп. поля?
Андрей Шевяков
14 марта 2024, 08:08
0
А как получить не id заказа, а номер заказа?