Не получается вывести ошибку в хуке ajaxform, как исправить?

Допустим есть код в хуке ajaxform, который по какому-то при знаку должен вернуть ошибку и дальше не будет обрабатываться, а сам снипет в вызове такой же формит, согласно докам это можно сделать так
return $AjaxForm->error('Ошибка отправки слишком большой текст');
но когда я ставлю в свой хук, то вообще не реагирует на это.
{'!AjaxForm' | snippet : [
            'form' => 'modal-form-reviews',
            'snippet' => 'FormIt',
            'hooks' => 'rcv3,customReviews,email',
            'emailSubject' => 'Отзыв с сайта {$_modx->config.site_name}',
            'emailTpl' => 'modalFormEmail',
            'validate' => 'first__name:required,rating:required,message:required,g-recaptcha-response:required',
        ]}
Хук
$review = $hook->getValue('message');  
    if(strlen($review) > 1000){
        return $AjaxForm->error('Ошибка отправки отзыва. Слишком большой текст');
    }
Vladimir
15 февраля 2022, 13:10
modx.pro
564
0

Указан неверный код защиты от спама. Tickets, как исправить?

Заполняю форму пишет что код не правильный а код 4 + 1, я написал 5, вроде правильно, но tickets знает лучше и не отправляет форму, в логах пусто.
Код такой
{'!TicketComments' | snippet : [
    'allowGuest' => '1',
    'autoPublish' => '0',
    'autoPublishGuest' => '0',
    'tplCommentForm' => 'reviewsForm',
    'tplCommentFormGuest' => 'reviewsForm',
    'tplCommentGuest' => 'reviewsGuestComment',
    'tplComments' => 'reviewsWrapper'
]}
Код с формой
<form class="callback__form" id="comment-form">
    <input type="text" name="name" id="comment-name" class="def-input" placeholder="{$_modx->getChunk('translate', ['ru' => 'Как вас зовут?', 'kz' => 'Сіздің атыңыз кім?'])}">
    <div id="comment-preview-placeholder"></div>
    <input type="hidden" name="thread" value="[[+thread]]"/>
    <input type="hidden" name="parent" value="0"/>
    <input type="hidden" name="id" value="0"/>
    <input type="hidden" name="form_key" value="[[+formkey]]">

    <input type="text" name="email" class="def-input" value="[[+email]]" id="comment-email" placeholder="{$_modx->getChunk('translate', ['ru' => 'Почта', 'kz' => 'Пошта'])}">


    <div class="def-input" style="padding-bottom:0;border-bottom:0;">
        <label for="captcha" id="comment-captcha">[[+captcha]]</label>
        <input type="text" name="captcha" value="" id="captcha" class="form-control def-input" style="width:100%;"/>
    </div>
    



    
    <div class="def-input">
        <div class="stars" data-stars="3">
            <svg height="25" width="23" class="star rating" data-rating="1">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="2">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="3">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="4">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <svg height="25" width="23" class="star rating" data-rating="5">
                <polygon points="9.9, 1.1, 3.3, 21.78, 19.8, 8.58, 0, 8.58, 16.5, 21.78" style="fill-rule:nonzero;"/>
            </svg>
            <input type="hidden" name="rating" value="">
        </div>                  
    </div>
    
    <textarea name="message" class="def-input" placeholder="{$_modx->getChunk('translate', ['ru' => 'Оставьте свой комментарий', 'kz' => 'Пікір қалдырыңыз'])}"></textarea>
    
    <input type="hidden" name="pageName" value="{$_modx->resource.pagetitle}">
    <input type="hidden" name="pageUrl" value="{$_modx->config.site_url}{$_modx->resource.uri}">

    
        

    <button class="def-btn" type="submit">
        <span>{$_modx->getChunk('translate', ['ru' => 'Отправить', 'kz' => 'жіберу'])}</span>

    </button>
</form>
Vladimir
15 февраля 2022, 10:02
modx.pro
568
0

AjaxForm без jQuery

Приветствую тебя дорогой читатель. Давно хотел это сделать и наконец-то сделал — теперь для работы AjaxForm не нужен jQuery.

ТЕПЕРЬ ДЛЯ ЭТОГО НУЖНО ПРОСТО ИСПОЛЬЗОВАТЬ SENDIT

Для этого нужно
1. Перейти по ссылке.
2. Заменить содержимое папок core/components/ajaxform и assets/componentns/ajaxform/ данными из репозитория.
3. Заменить код сниппета AjaxForm кодом из репозитория.
Если будут ошибки пишите в комментарии, а под катом немного о нюансах.
Артур Шевченко
14 февраля 2022, 21:53
modx.pro
6
2 612
+14

cityfields + minishop2 не работает добавление товара в корзину

Подключен cityfields. На основном домене добавление товаров в корзину работает. На поддоменах не работает.
Например тут omsk.specstaly.ru/catalog/avtomatnyie-stali/avtomatnyie-plityi/avtomatnyie-plityi-160-mm-a35-gost-19903-74
В чем может быть проблема?
Rootiys
14 февраля 2022, 19:08
modx.pro
730
0

Не могу получить количество товара в корзине, как исправить?

Казалось бы куда проще, но не работает, не могу получить именно количество товара с опред айди, если выводить
$productId
то это стринга и выдаёт правильные данные, если выводить
$value['id']
тоже стринга, тоже нормальные данные, но при сравнение ничего, не заходит внутрь хотя КАЗАЛОСЬ БЫ, две стринги с одинаковыми данными, КАЗАЛОСЬ БЫ что не так? если в лупе сделать return какой либо переменной выводится но if не срабатывает, что я делаю не так?

<?php
$ms2 = $modx->getService('miniShop2');
$ms2->initialize($modx->context->key);
$cart = $ms2->cart->get();

foreach($cart as $key => $value){
    if($productId == $value['id']){
        return $value['count'];
    }
}

return 0;
Vladimir
14 февраля 2022, 14:27
modx.pro
495
0

mSearch2 исправление некоторых ошибок

Давно и на нескольких проектах пользуюсь компонентом. Давно уже наболело пара моментов, которые где-то фиксил сам, но уже и не найти. Решил описать тут, возможно @Илья Уткин, который теперь вместо автора @Василий Наумкин взял под крыло компонент, посчитает нужным/возможным сделать пару фиксов для улучшения продукта ;-)

К сожалению, на modstore нет возможности сделать общедоступный issue в гитхаб-формате, поэтому пока не нашел ничего лучше чем написать в Вопросы.

Итак, 3 проблемы mSearch2, по которым вопросов больше, чем ответов:
Дима Сайт old см. профиль
13 февраля 2022, 23:26
modx.pro
757
0

Необходимо допилить компонент syncMoySklad

5 5 000
Добрый день!
Необходимо допилить компонент syncMoySklad для синхронизации остатков Мой Склад.

1. Настроить автоматическую синхронизацию остатков с интервалом 1 день.
2. Импортировать товары только с положительным остатком.

Стоимость работы и сроки обсуждаемые.
Для связи vk.com/soundwar_suslov
Aleksandr Suslov
13 февраля 2022, 12:33
modx.pro
378
0

Пустые права доступа.

Хочу создать аккаунт для контент менеджера, но найдя в гугле инструкции — попал в тупик. у меня просто нет разных «прав доступа»


Заранее спасибо.
evgeniy dovgani
12 февраля 2022, 22:44
modx.pro
822
0

msOptionsPrice2 и управление модификациями

Кто столкнулся с добавлением или изменением модификаций через компонент msOptionsPrice2, в курсе, что нужно проделать очень много действий, например, чтобы изменить, скажем: 10 товаров по 2-ве модификации в каждом.


Не раз в техподдержке компонента msPre просили реализовать управление модификациями. Но как то не было решения.

Встречайте)
Долгожданный функционал
Та дам!!!


Демонстрация новой возможности


Коротенькое видео с добавлением новой модификации и изменением цены из списка youtu.be/3Qvw3lpemVM

Кто купил компонент


Может обновиться до новой версии уже сейчас msPre

Надеюсь многим пригодиться!
Андрей Степаненко
10 февраля 2022, 09:04
modx.pro
1 068
+11

Почему не срабатывает условие if в чанке tpl.msEmail?

Здравствуйте!

На сайте есть нестандартный заказ, для которого потребовался свой чанк письма. Создал для него чанк tpl.EmailBusinessOrder и в чанке tpl.msEmail написал:
{if 'Бизнес заказ' | in : $address.extfld_type}
{'tpl.EmailBusinessOrder' | chunk}
{else}
{'tpl.EmailMainOrder' | chunk}
{/if}
Но всегда подгружается первый чанк, а условие if будто и не обрабатывается. Поле extfld_type 100% верно заполняется при этом заказе и пустое при обычных заказах.

Соответственно вопросы:
1) почему не срабатывает условие?
2) как сделать отдельный чанк для определенного письма — там всегда только один товар с определенной категории.
Lori
09 февраля 2022, 16:20
modx.pro
671
0