26 декабря 2018, 03:55 очень крутое обновление, да. назрела мысль, возможно народ поддержит — хорошо бы добавить параметр, например, «validator» — и писать в него сниппет (с поддержкой файловых), который мог бы проверять нужные поля на правильность заполнения и возращал бы именованные ошибки Новые дополнения и их версии / Tickets 1.9.3 52 +1
24 декабря 2018, 17:29 эм… а что я такого ненормального сказал? Новые дополнения и их версии / [tagElementPlugin] Работаем с файловыми элементами 8 +2
24 декабря 2018, 17:09 некоторое время назад я удалял компонент с нескольких сайтов за ненадобностью. удалял через менеджер пакетов. при этом файлы компонента и сам плагин оставались на месте, удалялась только регистрация компонента в системе. в результате консоль сыпала ошибками. приходилось файлы и плагин удалять вручную. такое было на порядка десяти сайтах Новые дополнения и их версии / [tagElementPlugin] Работаем с файловыми элементами 8 0
24 декабря 2018, 16:07 а вы научили компонент нормально удаляться? Новые дополнения и их версии / [tagElementPlugin] Работаем с файловыми элементами 8 -1
19 ноября 2018, 07:33 спасибо! Новые дополнения и их версии / [msPromoCode] 1.3.3 - Кастомизация скидки товара плагином 3 0
19 ноября 2018, 01:14 пишу плагин, чтобы разрешить скидку только на товары определенного бренда: <?php $sp = &$scriptProperties; switch ($modx->event->name) { case "mspcOnBeforeSetProductDiscount": if (strtolower($sp['coupon']['code']) == 'hotdays') { $product = $modx->getObject('msProduct', $sp['product']['id']); if ($product->get('vendor') != 9) { $sp['discount'] = 0; } } break; } $modx->event->returnedValues = $sp;на фронте, если товар другого бренда, скидка не срабатывает, но все равно приходит сообщение, что промокод применен. А как написать, что недействителен? Новые дополнения и их версии / [msPromoCode] 1.3.3 - Кастомизация скидки товара плагином 3 0
30 октября 2018, 01:38 // тут проверяешь всё что тебе нужно, чтобы уточнить что это точно тикет, в нужном разделе и т. д. // далее: // проверяешь, что документ новый и что юзер существует: if ($mode == 'new' and $user = $modx->getObject('modUserProfile', $resource->createdby)) { // подключаешь компонент: $pdoTools = $modx->getService('pdoTools'); $tickets = $modx->getService('tickets', 'Tickets', $modx->getOption( 'tickets.core_path', null, $modx->getOption('core_path').'components/tickets/').'model/tickets/', array('allowGuestEmails' => true) ); $tickets->initialize($modx->context->key, array('allowGuestEmails' => true)); // отправляешь письмо: $tickets->addQueue( $user->id, // кому отправлять; 'тема письма', $pdoTools->getChunk('имя_чанка', array(/* плейсхолдеры */)), // тело письма - можно распарсить свой чанк $user->email, // на всякий случай указываешь почту, хотя это и необязательно ); } Вопросы / TicketForm 4 0
30 октября 2018, 01:27 круто, пригодится. маленький нюанс: имеет смысл поменять местами столбцы «категория» и «название», так воспринимается логичнее Новые дополнения и их версии / [Help] Замена стандартной страницы помощи в админке 2 +1
27 октября 2018, 04:30 что-то не так на стороне js, потому что процессор migx ловит пустое значение. оно тупо не отправляется на сохранение. у меня две тв-шки рядом: «video» (listbox-multiply) и «gallery» (tvsuperselect) в migx сырые данные приходят в виде json, и этот кусок выглядит так: {"video":["1","2","3"],"gallery":""}что касается поля migx внутри migx (которое тоже json по идее), то оно экранируется и приходит вот так: {"somemigxfield":"[{\"field\":\"value\"}]"}и думается мне, что tvsuperselect тоже надо экранировать и строкой отправлять, только где и когда это отловить пока не разобрался Пошаговые инструкции / [tvSuperSelect] Кейс. Удобное указание опций для фильтрации в mFilter2 13 0
11 октября 2018, 21:29 приветствую! извиняюсь за офтоп, подскажи пожалуйста, как можно через плагины заставить msie работать с localizator? какое из событий юзать и как модифицировать данные. И пожалуй главное, как заставить его не ругаться на незнакомые названия полей Новые дополнения и их версии / CallMe 71 0
02 октября 2018, 15:36 Многим она не нужна и вряд-ли понадобится (MIGX DB например)серьезно? по-моему только ради MIGX-db это и остается наиболее must-have компонентом. и именно по MIGX-db наибольшее количество белых пятен и неисследованных возможностей Пошаговые инструкции / [MIGX] - Большой и страшный. Знакомство. 40 +4
15 сентября 2018, 19:28 не знаю, у меня работает Вопросы / В Сафари не хочет работать загрузчик файлов для TicketForm 6 0
15 сентября 2018, 18:18 ну и плюс @EVAL это 1. костыль и 2. небезопасно. а тут всё по феншую, через коннектор Новые дополнения и их версии / [tvSuperSelect] 1.2.2 Кастомайз по полной программе! 18 0
15 сентября 2018, 18:16 отличие в способе хранения данных, и это важное отличие на мой взгляд. в обычном тв строка с разделителями, а тут json-массив Новые дополнения и их версии / [tvSuperSelect] 1.2.2 Кастомайз по полной программе! 18 +1
06 августа 2018, 14:18 Все события магазина задокументированыхорошо бы еще документацию касательно работы с returnedValues Новые дополнения и их версии / [miniShop2] Версия 2.4.15 22 0
28 июля 2018, 15:33 короче, надо так: [[*tv:is=``:then=`Пусто`:else=`неПусто`]] Вопросы / Последовательные фильтры вывода 3 0
28 июля 2018, 15:31 в голове) последовательно: 1. выводим tv или слово «пусто» 2.… ииии… 'Пусто':notempty=`неПусто` слово «пусто» это уже строка, а не пустое место. поэтому в любом случае ты вторым условием проверяешь либо строку из tv, либо строку «пусто», и это никак не может быть пустым значением. Вопросы / Последовательные фильтры вывода 3 +1
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
назрела мысль, возможно народ поддержит — хорошо бы добавить параметр, например, «validator» — и писать в него сниппет (с поддержкой файловых), который мог бы проверять нужные поля на правильность заполнения и возращал бы именованные ошибки
на фронте, если товар другого бренда, скидка не срабатывает, но все равно приходит сообщение, что промокод применен. А как написать, что недействителен?
маленький нюанс: имеет смысл поменять местами столбцы «категория» и «название», так воспринимается логичнее
у меня две тв-шки рядом: «video» (listbox-multiply) и «gallery» (tvsuperselect)
в migx сырые данные приходят в виде json, и этот кусок выглядит так:
что касается поля migx внутри migx (которое тоже json по идее), то оно экранируется и приходит вот так:
и думается мне, что tvsuperselect тоже надо экранировать и строкой отправлять, только где и когда это отловить пока не разобрался
не знаю, у меня работает
последовательно:
1. выводим tv или слово «пусто»
2.… ииии… 'Пусто':notempty=`неПусто`
слово «пусто» это уже строка, а не пустое место. поэтому в любом случае ты вторым условием проверяешь либо строку из tv, либо строку «пусто», и это никак не может быть пустым значением.