Василий Наумкин · 21 февраля 2020, 12:46 Это делает pdoPage, которому можно указать &setMeta=`0` Вопросы / Canonical создаваемый msProducts. Как отключить? 2 +3 1
Станислав · 17 сентября 2019, 18:58 Добрый вечер! а как использовать тв в списке заказов из товара? Новые дополнения и их версии / [msListOrders] - вывод списка заказов [Minishop2] 94 0 1
Ann · 08 сентября 2019, 05:04 Было решено написанием плагина, сохраняющим артикулы модификаций в аннотацию при сохранении товара. $eventName = $modx->event->name; switch($eventName) { case 'OnDocFormSave': $modpar = array( 'rid' => $id ); $mod = $modx->getCollection('msopModification', $modpar); $datamod = array(); if ($mod){ foreach ($mod as $v){ $qi = ['mid' => $v->get('id')]; $opt = $modx->getObject('msopModificationOption', $qi); $val = ''; if ($opt){ $val .= $v->get('article'); } $datamod[] = $val; $intro = implode(",", $datamod); }; $res = $modx->getObject('modResource', $id); $res->set('introtext', $intro); $res->save(); } break; }Для обновления существующих товаров: if(!$docs = $modx->getCollection('modResource', array( 'template' => 7 ))){return;} foreach($docs as $doc){ $q = $doc->get('id'); $modpar = array( 'rid' => $q ); $mod = $modx->getCollection('msopModification', $modpar); $datamod = array(); if ($mod){ foreach ($mod as $v){ $qi = ['mid' => $v->get('id')]; $opt = $this->modx->getObject('msopModificationOption', $qi); $val = ''; if ($opt){ $val .= $v->get('article'); } $datamod[] = $val; $intro = implode(",", $datamod); }; $doc->set('introtext',$intro); $doc->save(); } } Вопросы / Поиск по артикулу модификации [Решено] 3 +1 2
Игорь Гришанов · 23 марта 2019, 16:33 Павел абсолютно прав) Только что делал таким образом Порядок действий такой 1) Находишь файл core/components/minishop2/model/minishop2/msorderhandler.class.php 2) находишь там функцию getCost и заменяешь ее тем что в приведенной Павлом ссылке 3) добавляешь скрипт из той же ссылки на страницу Оформления заказа в самом низу 4) выводишь ссылку в нужном месте <span id="deliveryprice">Стоимость доставки: <span id="ms2_delivery_cost"></span> руб.</span> это будет цена доставки 5) если еще надо цену заказа БЕЗ доставки то добавляешь в скрипт в функцию miniShop2.Callbacks.Order.getcost.response.success такие строки например var cartcost = response.data['cost'] - rdc; $('#ms2_cost').text(cartcost);тогда ссылка на цену без доставки будет так <span id="ms2_cost"></span> Вопросы / Пункты "Цена", "Цена доставки". 13 +2 3
Петр Синечёв · 22 февраля 2019, 09:31 Теперь работает только на событие OnDocFormSave OnBeforeDocFormSave Новости и события / Релиз MODX Revolution 2.7.1-pl (February 14, 2019) 24 +1 1
Руслан Алеев · 22 февраля 2019, 01:00 У вас в плагине переменная $id не указана, может из-за этого? $id = $resource->get('id'); Новости и события / Релиз MODX Revolution 2.7.1-pl (February 14, 2019) 24 +1 1
Константин · 09 февраля 2019, 23:38 Евгений, Вы немного не поняли мой вопрос. Хотя, то что Вы написали мне пригодится. Попробую объяснить еще раз, что я хочу. Накидал я, например, в корзину несколько товаров, а затем перешел туда для оформления заказа. В корзине, напротив каждого товара есть поле Количество. Я хочу в одном из товаров поменять количество, допустим с 1 на 100. Ввожу с клавиатуры компьютера/телефона число 100 и мне нужно, чтобы при вводе итоговая сумма всей корзины сразу же пересчитывалась. Вопросы / Не меняется итоговая сумма в корзине minishop2 при ручном вводе количества товара 12 0 1
Dmitry Rodionov · 09 февраля 2017, 22:36 Прошу прощения за некромантию, но может кому-то пригодится решение без модификации сниппета, на вышеуказанном примере, без использования leftJoin: &optionFilters=`{ "ps_target:!=":"", "ps_type:!=":"" }` &where=`[" (ps_target.value='Витрины и мебель' OR ps_target.value='Ландшафт' OR ps_target.value='Автомойки') AND (ps_type.value='Модульный' OR ps_type.value='Ландшафтный' OR ps_type.value='Карданный') "]`по сути optionFilters подключает нужные таблицы и дает не противоречащие условия, а все остальное прописывает внутри where Вопросы / msProducts. Выборка по нескольким опциям 9 0 4
Наумов Алексей · 26 января 2017, 15:24 Нужен плагин, примерно такой: <?php if ($modx->event->name == 'OnLoadWebDocument') { $request = $_SERVER['REQUEST_URI']; $params = ''; if (strpos($request, '?') !== false) { list($request, $params) = explode('?', $request); } $uri = $request; if(!empty($uri) && strpos($uri, '.') === false && substr($uri, -1, 1) != '/') { $uri .= '/'; if (!empty($params)) { $uri .= '?' . $params; } $modx->sendRedirect($uri, array('responseCode' => 'HTTP/1.1 301 Moved Permanently')); } } Вопросы / Как добавить слэш в конце URL? 3 +1 3
[Theme.Bootstrap] Новая версия с Bootstrap 4 Новая обновленная версия уже в магазине modstore.pro/packages/sites-themes/theme.bootstrap 4.1.0 (15.07.2026) — Added chunks for quick site setup: Scripts, Meta, Menu.*, Crumb...
Редизайн сообщества Спасибо, руки не дошли пока. Много всего другого делаю. Завтра поправлю все замечания.
Reactions — современная система реакций для MODX 3 [1.0.1-pl] — 2026-07-15 Added ReactionsCount: live-обновление рядом с виджетом (span.reactions-count + reactions:updated) без F5
[aiAssist] Я же просто попросил его создать магазин, а он СДЕЛАЛ ЭТО! А поддержка macOS не планируется, ато увидел только runner под linux? Если к примеру сайт для разработки развернут локально, настроены все доступы к нейронкам чтобы не заморачивать...
Как ограничить вебмастеру доступ к заказам? Допустим вы закроете доступ к заказам и пользователям через админку, но для полноценной работы с сайтом нужен доступ в БД, а там вся эта информация есть и спрятать её невозможно, т...
Возможно ли реализовать возможность предоплаты за доставку на сайте? Отлично, значит можно не создавать заказ пока оплата не пройдёт успешно, а поскольку класс-обработчик оплаты будет кастомный сможет сами решать какую стоимость пробрасывать. Ещё на...
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Выпустил новую версию [1.0.3-beta1] — 2026-07-13 Fixed — Inject сохраняет ``, `` и `` на полном HTML-документе (больше не оборачивает страни...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
а как использовать тв в списке заказов из товара?
Для обновления существующих товаров:
Порядок действий такой
1) Находишь файл core/components/minishop2/model/minishop2/msorderhandler.class.php
2) находишь там функцию getCost и заменяешь ее тем что в приведенной Павлом ссылке
3) добавляешь скрипт из той же ссылки на страницу Оформления заказа в самом низу
4) выводишь ссылку в нужном месте
это будет цена доставки
5) если еще надо цену заказа БЕЗ доставки то добавляешь в скрипт в функцию miniShop2.Callbacks.Order.getcost.response.success
такие строки например
тогда ссылка на цену без доставки будет так
OnBeforeDocFormSaveПопробую объяснить еще раз, что я хочу. Накидал я, например, в корзину несколько товаров, а затем перешел туда для оформления заказа. В корзине, напротив каждого товара есть поле Количество. Я хочу в одном из товаров поменять количество, допустим с 1 на 100. Ввожу с клавиатуры компьютера/телефона число 100 и мне нужно, чтобы при вводе итоговая сумма всей корзины сразу же пересчитывалась.
по сути optionFilters подключает нужные таблицы и дает не противоречащие условия, а все остальное прописывает внутри where