Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 118 комментариев

Евгений Куценко
Евгений Куценко
Снипер [[!getShareCart?]] не работал (выводил массив), так как указан неправильный чанк.

Было:
$tpl = $modx->getOption('tpl', $scriptProperties, 'getShareCart');
Надо:
$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.getShareCart');
Установил версию из магазина, но вроде и в коде на гитхабе тоже ошибка. только там надо добавить chunk.
Дмитрий
Дмитрий
Олег Захаров
Олег Захаров
Поправил код выше. Столкнулся с тем что у меток выводился одинаковое содержимое для прикрепляемого справа от метки блока. Понял что по причине того что в карту выводится одна переменная MyIconContentLayout, а для разных меток она разная.
Исправил: вместо присвоения
MyIconContentLayout = ymaps.templateLayoutFactory.createClass(...
поставил
MyIconContentLayout{$dealerplace.MIGX_id} = ymaps.templateLayoutFactory.createClass(...
и вместо
e.get('target').options.set('iconContentLayout', MyIconContentLayout);
поставил
e.get('target').options.set('iconContentLayout', MyIconContentLayout{$dealerplace.MIGX_id});
Как итог будет правильно выводить текст справа от меток.
Алексей Яковлев
Алексей Яковлев
Столкнулся с той же бодягой — дублирующих (лишних) вложениях в пути ссылки. Микроразметка здесь ни при чем.

Опытным путем выяснил, что [[+link]] выдает относительный путь, и плюсует перед ним адрес «крошки».

И видимо это связано с системной настройкой сайта об использовании вложенных путей (use_alias_path), которая у меня включена.

Но я не стал выяснять, а просто обнулил путь перед [[+link]]:
[[++site_url]][[+link]]
и повторы ушли.
Вячеслав
Вячеслав
Честно говоря, я видел несколько корректно работающих виджетов Сдек и они все переписаны полностью. Сейчас главное чтобы, обновили виджет до 3 версии так как 2 не всегда работает корректно и может в любой момент быть отключена полностью.
Павел Романов
Павел Романов
Добавьте поле в таблицу (например, new_field) и сделайте плагин на событие OnMODXInit
<?php
$modx->loadClass('msProduct');
$modx->map['msProduct']['fields']['new_field'] = '';
$modx->map['msProduct']['fieldMeta']['new_field'] = array(
    'dbtype' => 'varchar',
    'phptype' => 'string',
    'precision' => '190',
    'null' => false,
    'default' => '',
);

Естественно, тип данных может быть разным.
Примеры полей можно посмотреть в файле core/components/minishop2/model/minishop2/mysql/msproduct.map.inc.php
Арман
Арман
Попробовал так. Письмо всё равно отправляется пустым. Возможно не передаются значения который находятся в переменных. Или передается некорректно.
{set $fields = $fields | replace: '"' : '"' | fromJSON}
{set $fieldsAliases = $fieldsAliases | replace: '"' : '"' | fromJSON}
<h3>{$_pls['savedForm.form']}</h3>

На всякий случай проверил так. Здесь всё отправляется.
<h3>test</h3>

После того как поменяли строку на {if $questions && ($questions | count)} письма начали отправляться (до этого не отправлялись на php 8) Но похоже дело не только в этом.