Всего 123 795 комментариев

Андрей Шевяков
19 марта 2024, 10:34
0
Не заработало, выводит "{" и ошибки в логах вида:
PHP warning: Illegal string offset 'utm_source'
Скрин

Рендер
<?php
/** @var modX $modx */
/** @var array $row */
$utm= '';

if (!empty($row['Order.properties'])) {
    $utm = $row['Order.properties']['utm_source']; // тут берете нужное поле из массива properties
}

return $utm;

В ТП к сожалению не могу написать, прошло больше года после покупки дополнения.
Володя
19 марта 2024, 07:14
+1
Доброе утро.

Добавьте выборку поля Order.properties



добавьте рендер



<?php
/** @var modX $modx */
/** @var array $row */
$utm= '';

if (!empty($row['Order.properties'])) {
    $utm = $row['Order.properties']['utm']; // тут берете нужное поле из массива properties
}

return $utm;

добавьте поле



Должно работать, если не получится — пишите в ТП.
Андрей Шевяков
18 марта 2024, 21:25
0
Добрый день!
На сайте используем дополнение utmMark, оно пишет данные utm меток в формате json в поле properties заказа.

Помогите пожалуйста, как вывести поле properties в читаемом виде?

По умолчанию выводит [object Object]
Сергей Сергеевич
18 марта 2024, 20:36
0
А в чем именно вам помогло данное расширение? Как применяли? У меня сложилось впечатление, что проект анонсировали и он не завелся… И не понятно, платный он или нет.
Leo
Leo
18 марта 2024, 13:22
0
Спасибо! easyRedirects тоже хорошо справляется с перенаправлением, только прописывать урлы нужно вручную
Володя
18 марта 2024, 09:13
+1
В итоге проблемы с сохранением вызывал плагин autoredirector
modx.pro/help/24408#comment-141539
Leo
Leo
18 марта 2024, 00:18
0
Обновился до MODX 2.8.6 и наступили проблемы с сохранением родителя с вложенными ресурсами, без вложений сохраняет ок. Когда включаешь php 7.4 все сохраняет. В итоге проблемы с сохранением вызывал плагин autoredirector — после удаления плагина сохранение заработало. Есть проблемы с работой msGallery если попытаться обновить превьюхи под php 7.4 — идет бесконечная загрузка, с php 8 и выше все ок.
VLadimir
17 марта 2024, 22:12
0
АВТОРУ ОГРОМНЫЙ РЕСПЕКТ! сэкономил мне часы жизни на некоторые проекты =)
Ivan K.
17 марта 2024, 18:40
0
Сегодня тоже настраивал поиск по артикулу.
Нужно было указать: Добавлять все слова в индекс mse2_index_all — да (в настройках)
Нажать обновить индекс.

При отладке помогает, посмотреть, что в базе в таблице mse2_words.
У меня в начале не попадал артикул в индекс и по этому не искалось при &onlyIndex=`true`
Роман
17 марта 2024, 16:10
0
ID у форм разные, а вот у блоков да. Разрулил их разными классами, тоже вариант. Просто я на другое смотрел. Спасибо
Константин Ильин
17 марта 2024, 14:45
+1
База верстки. На одно странице не должно быть 2 или более элемента с одинаковым id.
У вас получается #form-fields и #form-thanks 2е штуки т.к. две формы. Надо перейти на классы и работать с конкретной формой, а не глобально.

<form action="[[~[[*id]]]]" method="post" id="callbackform" class="ajax_form">
			<div class="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 class="form-thanks" style="display: none;">
				<span class="title">Спасибо за ваше обращение!</span>
				<p>Мы свяжемся с Вами в ближайшее время.</p>
			</div>
		</form>

js вроде так, с jquery давно не работал
if (form.attr('id') == 'callbackform') {
    $(form).find(".form-fields").fadeOut();
    $(form).find(".form-thanks").fadeIn();
}
Дмитрий
17 марта 2024, 14:39
0
У меня такого параметра в /assets/components/msearch2/js/web/default.js нет, где вы его нашли?
Роман
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
Спасибо! Как раз что-то подобное нужно было сделать и Вы прям вовремя.