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

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

Алексей Яковлев
Алексей Яковлев
Столкнулся с той же бодягой — дублирующих (лишних) вложениях в пути ссылки. Микроразметка здесь ни при чем.

Опытным путем выяснил, что [[+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) Но похоже дело не только в этом.
Артур Шевченко
Артур Шевченко
Ошибку вызывает вот эта строка
{if $questions | count}
Сюда приходит null, а так как модификатор count это по сути вызов функции count(), то и в функцию приходит null, а она на вход требует как минимум массив, поэтому php 8 выбрасывает критическую ошибку. Соответственно надо либо убрать условие или добавить дополнительную проверку, как в предыдущем комментарии. Но это всё только предположения.
Арман
Арман
Письмо отправилось но с пустым содержанием. Отправилась значение темы письма то что находится внутри 'emailSubject' => 'Письмо с сайта domain.ru',
В данный момент стоит PHP FastCGI (Apache) 8.3.2 (alt)

Это то что у меня стоит внутри siDefaultEmail (ничего не менял)
{set $fields = $fields | replace: '"' : '"' | fromJSON}
{set $fieldsAliases = $fieldsAliases | replace: '"' : '"' | fromJSON}
{set $questions = $fields['questions'] | fromJSON}
{set $answers = $fields['answers'] | fromJSON}
<h3>{$_pls['savedForm.form']}</h3>

{if $questions | count}
    {foreach $questions as $i => $question}
        <p><strong>{$question}</strong>: {$answers[$i] | join: ', '}</p>
    {/foreach}
{else}
    {foreach $fields as $k => $v}
        {if !($k in list ['fields', 'fieldsAliases'])}
            <p><strong>{$fieldsAliases[$k] ?: $k}</strong>: {$v | join: ', '}</p>
        {/if}
    {/foreach}
{/if}
Алексей Смирнов
Алексей Смирнов
Да, потому что я вообще не вижу что у вас что-то корректно отображается. даже текста нет…
возможно ошибки в json.
И посмотрел конфиг — да у вас нарушена структура json для MIGX.
погуглите — modx галерея на migx.
Алексей Смирнов
Алексей Смирнов
Если вы переносили — проверьте исходящую версию Mysql и ту на которую переносите.
Если переносите на более низкую, есть риски что у вас еще и индексы слетели. Поэтому при экспорте нужно поменять совместимость БД, но тут лишь гуглить. Или переносить частями БД если она большая.
Кстати табличку сессий можно очистить перед переносом.