Павел Бигель · 17 ноября 2020, 15:30 Я предлагал такое решение if (is_array($this->options) || $this->options instanceof Countable) Новые дополнения и их версии / Релиз miniShop2 ver. 2.6.0 62 +1 1
Андрей Степаненко · 15 мая 2020, 13:57 В общем вот решение для dev и product <?php switch ($modx->event->name) { case 'OnHandleRequest': // Загрузка общих настроек $site_all = MODX_CORE_PATH . 'config/settings/'; if (file_exists($site_all) and is_dir($site_all)) { foreach (glob($site_all . '*.inc.php') as $file) { $response = require($file); if (is_array($response)) $modx->config = array_merge($modx->config, $response); } } // Конфигурация для сайта с конфигом MODX_CONFIG_KEY $site_dir = MODX_CORE_PATH . 'config/settings/' . MODX_CONFIG_KEY.'/'; if (file_exists($site_dir) and is_dir($site_dir)) { foreach (glob($site_dir . '*.inc.php') as $file) { $response = require($file); if (is_array($response)) $modx->config = array_merge($modx->config, $response); } } break; }Структура папок core/config/dev.inc.php core/config/settings/*.inc.php # здесь общие настройки core/config/settings/dev/*.inc.php # здесь настройки персонально для dev (MODX_CONFIG_KEY) Пошаговые инструкции / Лайфхак по config.inc 29 0 1
Андрей Степаненко · 15 мая 2020, 12:54 Лучше так <?php switch ($modx->event->name) { case 'OnHandleRequest': foreach (glob(MODX_CORE_PATH . 'config/settings/*.php') as $file) { $response = require ($file); if (is_array($response)) $modx->config = array_merge($modx->config, $response); } break; }а то если несколько конфигов будет, то MODX_CONFIG_KEY не поможет. Пошаговые инструкции / Лайфхак по config.inc 29 0 1
Михаил · 15 мая 2018, 06:41 <?php switch ($modx->event->name) { case 'OnUserFormSave': if($mode == 'new' && $modx->context->key != 'mgr'){ $url = 3; // тут id ресурса с благодарностью $modx->sendRedirect($modx->makeUrl($url),array('responseCode' => 'HTTP/1.1 301 Moved Permanently')); } } Вопросы / Страница благодарности за регистрацию 27 0 2
Максим Кузнецов · 14 мая 2018, 15:41 Если речь о готовом модуле, то нет, не вижу в этом смысла. Если подразумевалась пошаговая инструкция, то как-то так: 1. В чанке формы регистрации (по умолчанию tpl.Office.auth.login) дописать: //Код вставляем внутри формы с id="office-auth-register" //Не забыв указать id нужного ресурса <input type="hidden" name="redirect" value="{айди_страницы_переадресации | url}" /> 2. Создаем новый js-файл и копируем в него содержимое /assets/components/office/js/auth/default.js 3. Указываем путь до него в системной настройке office_auth_frontend_js 4. В новом файле заменяем данный код: if (response.success) { Office.Message.success(response.message); if (!response.data.sms) { $form.resetForm(); } }следующим: if (response.success) { //Если всплывающее сообщение не нужно, то эту строчку можно убрать Office.Message.success(response.message); var redirect_page = $('#office-auth-register').find('input[name="redirect"]'); //В данном коде редирект происходит для всех форм Office, где есть input с name="redirect" //Если нужно ограничить срабатывание только для формы регистрации, //то в условие необходимо дописать && $form.attr('id') == 'office-auth-register' if (redirect_page.length > 0) { window.location.href = redirect_page.val(); } else { if (!response.data.sms) { $form.resetForm(); } } } Опционально, если до редиректа нужно дать время пользователю на просмотр сообщения об успешной регистрации, то строчку window.location.href можно обернуть таймаутом: setTimeout(function(){ window.location.href = redirect_page.val(); }, 2000); Вопросы / Страница благодарности за регистрацию 27 +2 1
Aleksandr Huz · 24 января 2018, 17:02 1. Вариант: {foreach $orders as $order} {if order@last} {$order.cost} {/if} {/foreach}2. Вариант: {var $total = count($orders) - 1} {foreach $orders as $idx => $order} {if $idx == $total} {$order.cost} {/if} {/foreach} Вопросы / foreach Fenom выбрать одну строчку 4 +2 1
Николай Загумённов · 08 июня 2016, 23:50 Спасибо Паше за помощь. Открыл для себя Ext.ComponentMgr.onAvailable. Вот такой плагин получился и не надо создавать никаких comments2.grid.js. <?php switch ($modx->event->name) { case 'OnBeforeManagerPageInit': if ($action['namespace'] == 'tickets' && $action['controller'] == 'index') { $modx->controller->addHtml("<script type='text/javascript'> Ext.ComponentMgr.onAvailable('tickets-home-tabs', function() { // Тут можно переопределять все что угодно }); </script>"); } break; } Пошаговые инструкции / Дополнительные поля профиля юзера (не extended) 138 +2 4
Воеводский Михаил · 11 мая 2015, 16:46 Самый простой способ — отправить ajax запрос с параметром: /?ms2_action=cart/clean Вопросы / Очистка корзины через AJAX 9 +2 2
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
Структура папок
а то если несколько конфигов будет, то MODX_CONFIG_KEY не поможет.
Если подразумевалась пошаговая инструкция, то как-то так:
1. В чанке формы регистрации (по умолчанию tpl.Office.auth.login) дописать:
2. Создаем новый js-файл и копируем в него содержимое /assets/components/office/js/auth/default.js
3. Указываем путь до него в системной настройке office_auth_frontend_js
4. В новом файле заменяем данный код:
следующим:
Опционально, если до редиректа нужно дать время пользователю на просмотр сообщения об успешной регистрации, то строчку window.location.href можно обернуть таймаутом:
2. Вариант:
Вот такой плагин получился и не надо создавать никаких comments2.grid.js.