Василий Наумкин · 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
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Если ты пришлёшь мне весь запрос с заголовками и телом, смогу помочь
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Лучше автоматический ci/cd настроить и не править прод напрямую. Это самый безопасный вариант. Другое дело, что далеко не каждый владелец сайта и далеко не каждый сайт готовы в авт...
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
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, сервис-ориентированная архит...
а как использовать тв в списке заказов из товара?
Для обновления существующих товаров:
Порядок действий такой
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