Павел Бигель · 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
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Привет, добавил пользователя в группу mxBoard(4), создал токен. Добавляю все в postman пишет: rest: { «success»: false, «message»: «Недействительный токен.», «data...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
Структура папок
а то если несколько конфигов будет, то 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.