12 января 2020, 19:25 Да, но с учетом того, что на момент решения проблемы клиент сам толком не знал, что ему надо — сделал так: 1. оформил метод оплаты картой (по сути копия самовывоза, но зовется так, как мне надо). 2. Сделал страничку для админа (с соотв. правами на просмотр и т.д.). Там админ видит весь список заказов и делает с ними несколько действий, которые тогда были заявлены (уже не помню точно). Но одним из них было действие «отправить счет клиенту». Далее запускался скрипт который оформлял заказ на оплату в сбере через стандартный API сбера через связку Номер заказа на сайте — номер заказа в платежном шлюзе (в базе сайта id заказа в шлюзе сбера сохранялся в спецполе). По факту клиенту высылалась ссылка на оплату в платежном шлюзе (время существования ссылки было выставлено на бесконечное время). Клиент оплачивал заказ и редиректился на страницу успешной оплаты заказа, где по id заказа из GET (это шлюзовский id) менялся статус заказа на сайте. Вопросы / Отложенная оплата заказа 4 0
22 августа 2019, 12:07 Как обычно: сам задал вопрос — сам отвечаю. 1. Добавил поля id_1C и id_parent_1C в modx_site_content 2. В плагине на OnMODXInit (у меня там куча полей для расширения разных классов) написал $modx->map['modResource']['fields']['id_1C'] = ''; $modx->map['modResource']['fields']['id_parent_1C'] = ''; $modx->map['modResource']['fieldMeta']['id_1C'] = array( 'dbtype' => 'varchar', 'precision' => 50, 'phptype' => 'string', 'null' => false, 'default' => '' ); $modx->map['modResource']['fieldMeta']['id_parent_1C'] = array( 'dbtype' => 'varchar', 'precision' => 50, 'phptype' => 'string', 'null' => false, 'default' => '' );3. В плагине на OnDocFormSave и onDocFormPrerender switch ($modx->event->name) { case 'OnDocFormPrerender': $id_1C = ''; $id_parent_1C = ''; if (isset($scriptProperties['resource'])) { if (is_object($resource)) { $id_1C = $resource->get('id_1C'); $id_parent_1C = $resource->get('id_parent_1C'); } } $modx->controller->addHtml(<<<HTML <script> Ext.ComponentMgr.onAvailable('modx-resource-main-left', function(page) { page.on('beforerender', function() { page.insert(2,{ xtype: 'textfield' ,name: 'id_1C' ,value: '{$id_1C}' ,anchor: '100%' ,layout: 'anchor' ,fieldLabel: 'ID 1C' }); page.insert(3,{ xtype: 'textfield' ,name: 'id_parent_1C' ,value: '{$id_parent_1C}' ,anchor: '100%' ,layout: 'anchor' ,fieldLabel: 'ID родителя 1C' }); }) }); </script> HTML ); break; case 'OnDocFormSave': $resource->set('id_1C', $_POST['id_1C']); $resource->set('id_parent_1C', $_POST['id_parent_1C']); break; } return;Все заработало. Вопросы / Добавить поле на редактирование к ресурсу [Решено] 3 +1 3
21 августа 2019, 16:25 Проще всего сделать копию конфигурации и применить к нужному тв-полю Вопросы / Ограничить добавление элементов в MIGX 4 0
31 июля 2019, 18:33 Если вызов стандартного сниппета типа [[!getImagesList? &tvname=`product-volume` &tpl=`имя_чанка` &docid=`id_нужного_ресурса`]] вам недостаточен, то коли вы уже получили значение тв-поля типа MIGX, то продолжите обработку примерно так $migx = $res->getTVValue('product-volume'); $migxArr = json_decode($migx,true); $result = ''; foreach($migxArr as $row){ //каждое поле можно получить через $row['ключ_поля'] $result .= '<option value="'.$row["Параметр 1"].'">'.$row["Параметр 2"].'</option>'; } echo $modx->getChunk('tpl.select',array('rows' => $result));где tpl.select это <select>[[+rows]]</select>Но можно и для option сделать свой tpl и юзать его при чтении migx так же через getChunk Вопросы / Решено! Вывод значений migx в сниппете 3 0
30 июля 2019, 11:50 У меня сработало вот это в rest/.htaccess RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-s RewriteRule ^(.*)$ rest/index.php?_rest=$1 [QSA,NC,L] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*)$ rest/index.php [QSA,NC,L] Вопросы / REST API на MODX 18 0
20 июня 2019, 01:14 Все верно) Сделал. Если кому интересно, то вот что предпринял: 1. Создал два события (по факту, даже одно нужно было) в меню системных событий. Имя не важно 2. В core/components/myComponent создал папки elements/plugins и файл plugin.mycomponent.php (любое имя php файла) 3. Создал плагин на созданное ранее событие и указал php файл выше как источник (нажал галочку Статический) 4. В процессоре core/components/migx/processors/mgr/migxdb/update.php вызвал метод $modx->invokeEvent('myEvent',array('myObj' => $object));5. Получил в плагине объект myObj, получил alias и если он пустой, то получаем pagetitle у myObj, создаем новый объект класса modResource $generator = $modx->newObject('modResource'));и в поле alias у myObj вставляем $myObj->set('alias',$generator->cleanAlias($pagetitle)); $myObj->save();родная транслитерация modx сработала!) Вопросы / Событие на сохранение объекта migx db 4 0
25 апреля 2019, 14:00 Да. именно так, толковый словарь) Объекты словаря (как массива объектов) — это термины, словосочетания и аббревиатуры. У такого объекта есть поля название, транскрипция, перевод, где перевод это ссылки на другие такие же объекты но только в другом языке. Т.е. ввводим Hello, переводим на русский — получаем ссылки на объекты «Привет», «здравствуйте» и т.д., в зависимости от выбранного языка перевода Вопросы / Сайт-словарь MIGX,Localizator 2 0
04 февраля 2019, 18:40 Разобрался. msOnCreateOrder нужен. а в нем: (мне просто нужно было дописать к имени блок с ПИН клиента) $products = $msOrder->getMany('Products'); foreach ($products as $product) { $product->set('name',$product->get('name').' (ПИН '.$_POST["extfld_pin"].')'); $product->save(); } Вопросы / Изменить имя товара при помещении в корзину. 3 0
01 октября 2018, 17:20 да, прошу прощения, не туда посмотрел. Но тут аналогично, только в чанке tpl.msOrder. Вместо $order.cost ставить $order.cart_cost и $order.delivery_cost Вопросы / miniShop2 - разделение цены в tpl.msOrder 13 -1
01 октября 2018, 16:54 Роман, загляните в чанк tpl.msEmail и вы увидите, что в этом шаблоне есть 2 переменные: $total.cart_cost и $total.delivery_cost. Там есть условие, при котором, в случае $total.delivery_cost != 0 вывести их сумму. Измените вывод просто на две строчки подряд и вуаля) joxi.ru/Y2LMQo9C9OyNpA Вопросы / miniShop2 - разделение цены в tpl.msOrder 13 0
18 сентября 2018, 13:50 А есть навешанная логика на формы и их элементы? на сабмит? Вопросы / Проблема с AjaxForm 16 0
18 сентября 2018, 13:12 Предлагаю привести вторую форму к виду первой: убрать action, поле со спамом и посмотреть на результат. Это чисто эксперимент. Где-то явно д.б. ошибка в логах или консоли. Сообщения стандартные ajaxformовские? может, не все видите Вопросы / Проблема с AjaxForm 16 +1
18 сентября 2018, 13:07 Ошибки в журнале, консоли или на сервере в логах есть? Вопросы / Проблема с AjaxForm 16 0
18 сентября 2018, 12:54 У вас во второй форме (не рабочей) нет поля с именем contactsMessage, а в валидации есть и помечено required. Потому и не шлется Вопросы / Проблема с AjaxForm 16 +1
24 июля 2018, 21:41 Именно! стал бы я изобретать, когда можно просто вывести заказы по умолчанию через Office minishop2 и навесить стили. Вопросы / msearch2 для заказов minishop2 4 0
10 мая 2018, 15:15 А класс не подскажите какой править? а то для MIGX знаю, а для стандартного нет Новые дополнения и их версии / [MetroniX] – Шаблон оформления админки MODX Revo 172 0
10 мая 2018, 15:14 делал так для MIGX превью. Значит одинаково мыслим в этом направлении) Новые дополнения и их версии / [MetroniX] – Шаблон оформления админки MODX Revo 172 0
09 мая 2018, 17:46 Adorazel, приветствую! Как вы сделали поддержку svg превью? Новые дополнения и их версии / [MetroniX] – Шаблон оформления админки MODX Revo 172 0
09 мая 2018, 16:59 Павел, благодарю за скорый ответ! Попробовал сейчас этот вариант — в превью MIGX вижу только ссылку на файл .svg, но тега img почему-то нет. В журнал ничего из ошибок не записалось. Попробовал указать имя чанка, в котором разместил соответствующий код с тегом img — тоже самое. Вопросы / MIGX и svg картинки 8 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? У меня Робокасса, у них вроде есть docs.robokassa.ru/ru/iframe
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
1. оформил метод оплаты картой (по сути копия самовывоза, но зовется так, как мне надо).
2. Сделал страничку для админа (с соотв. правами на просмотр и т.д.). Там админ видит весь список заказов и делает с ними несколько действий, которые тогда были заявлены (уже не помню точно). Но одним из них было действие «отправить счет клиенту». Далее запускался скрипт который оформлял заказ на оплату в сбере через стандартный API сбера через связку Номер заказа на сайте — номер заказа в платежном шлюзе (в базе сайта id заказа в шлюзе сбера сохранялся в спецполе). По факту клиенту высылалась ссылка на оплату в платежном шлюзе (время существования ссылки было выставлено на бесконечное время). Клиент оплачивал заказ и редиректился на страницу успешной оплаты заказа, где по id заказа из GET (это шлюзовский id) менялся статус заказа на сайте.
1. Добавил поля id_1C и id_parent_1C в modx_site_content
2. В плагине на OnMODXInit (у меня там куча полей для расширения разных классов)
написал
3. В плагине на OnDocFormSave и onDocFormPrerender
Все заработало.
вам недостаточен, то коли вы уже получили значение тв-поля типа MIGX, то продолжите обработку примерно так
где tpl.select это
Но можно и для option сделать свой tpl и юзать его при чтении migx так же через getChunk
1. Создал два события (по факту, даже одно нужно было) в меню системных событий. Имя не важно
2. В core/components/myComponent создал папки elements/plugins и файл plugin.mycomponent.php (любое имя php файла)
3. Создал плагин на созданное ранее событие и указал php файл выше как источник (нажал галочку Статический)
4. В процессоре core/components/migx/processors/mgr/migxdb/update.php вызвал метод
5. Получил в плагине объект myObj, получил alias и если он пустой, то получаем pagetitle у myObj, создаем новый объект класса modResource
и в поле alias у myObj вставляем
родная транслитерация modx сработала!)
а в нем: (мне просто нужно было дописать к имени блок с ПИН клиента)
$order.cart_cost и $order.delivery_cost
Попробовал сейчас этот вариант — в превью MIGX вижу только ссылку на файл .svg, но тега img почему-то нет. В журнал ничего из ошибок не записалось. Попробовал указать имя чанка, в котором разместил соответствующий код с тегом img — тоже самое.