12 июня 2015, 13:28 Не за что.) Если с минимальными потерями (корзины похожи, но отличаются незначительно) — то легче всего при помощи ксс..)) <div class="ms2_total_product mini">[[!msCart]]</div> <div class="ms2_total_product main">[[!msCart]]</div>В противном случае — редактировать основной javascript-файл, передавая в него параметр, какую страницу подгружать при обновлении и перехватывать его в классе корзины, добавляя зависимые от него условия вывода чанков. Ну и (за это уже не ручаюсь) — посмотреть, переварит ли сниппет msCart параметры &tplRow и &tplOuter и, если нет, то добавить ему такую возможность (но это плохое решение [костыль], говорю сразу). Вопросы / Корзина на главной 22 0
12 июня 2015, 13:16 Если не ошибаюсь, с определенной версии minishop'a требуемые чанки выглядят вот так: $tplOuter = 'tpl.msCart.outer'; $tplRow = 'tpl.msCart.row';Проверьте, так ли называются ваши чанки и попробуйте заменить эти строчки. Вопросы / Корзина на главной 22 +1
12 июня 2015, 13:09 Раз появляется массив — значит js нормально отправляет ajax-запрос и получает результат. => проблема в классе корзины, которая возвращает данные, не распихав массив по чанку и его плейсхолдерам. Кидайте код класса корзины (+ вы ведь указали ваш новый класс в системных настройках minishop'a?) Вопросы / Корзина на главной 22 +1
12 июня 2015, 12:57 Другое оформление — редактировать содержимое в выставленных чанках. По поводу массива — кидайте логи ошибок модкса, если в них что-то попадает. Ну и + чанки необходимо указывать те, которые есть в родном классе msCartProductHandler Вопросы / Корзина на главной 22 +1
12 июня 2015, 12:24 $tplOuter = 'msCartOuter'; $tplRow = 'msCartRow'; — необходимо указать существующие чанки. Вопросы / Корзина на главной 22 +1
12 июня 2015, 01:34 https://modx.pro/solutions/3942-dynamic-update-of-the-basic-basket/ + вот так исправлять ошибки в логе для реализации по первой ссылке. Вопросы / Корзина на главной 22 +1
12 июня 2015, 00:20 Ну, как вариант — выставлять условия на плейсхолдер итоговой цены. Для чанка корзины (tpl.msCart.outer): [[+total_count:lt=`5000`:then=` Для оформления заказа сумма должна превышать 5000 рублей. `:else=` (дефолтное содержание чанка корзины с кнопкой для оформления заказа) `]]Для чанка оформления заказа (tpl.msOrder.outer) использовать ту же логику, только плейсхолдером выступит [[+order_cost]] + перехватывать итоговую стоимость плагином на события msOnBeforeChangeOrderStatus и аналогичным, сравнивая стоимость с требуемой и, в зависимости от этого, редиректить или выводить необходимые алерты. Единственное, если у вас, допустим, расширен класс корзины для ajax-обновления, то также придется повесить условия на javascript. Вопросы / оформления заказа Minishop2 2 +1
10 июня 2015, 14:45 Необходимо создать плагин и включить его на событие OnDocFormSave. Код примерно такой: <?php if ($modx->event->name == 'OnDocFormSave') { if ($resource->get('template') == 'номер_шаблона' AND strlen($resource->get('introtext')) > 0) { $resource->setTVValue('название_тв', $resource->get('introtext')); $resource->save(); } } Вопросы / Introtext вместо tv-параметра tags в TagLister 23 0
10 июня 2015, 08:12 Все работает, только в лог сыпятся ошибки: [2015-06-10 08:11:24] (ERROR @ /home/s2040/www/system_heart/components/minishop2/custom/cart/mscustomcarthandler.class.php : 30) PHP warning: Missing argument 1 for myCustomCart::getProducts(), called in /home/s2040/www/system_heart/components/minishop2/custom/cart/mscustomcarthandler.class.php on line 13 and defined [2015-06-10 08:11:24] (ERROR @ /home/s2040/www/system_heart/components/pdotools/model/pdotools/pdofetch.class.php : 18) Recoverable error: Argument 1 passed to pdoFetch::setConfig() must be of the type array, null given, called in /home/s2040/www/system_heart/components/pdotools/model/pdotools/pdotools.class.php on line 41 and defined [2015-06-10 08:11:24] (ERROR @ /home/s2040/www/system_heart/components/pdotools/model/pdotools/pdofetch.class.php : 45) PHP warning: array_merge(): Argument #2 is not an array [2015-06-10 08:11:24] (ERROR @ /home/s2040/www/system_heart/components/pdotools/model/pdotools/pdotools.class.php : 51) Recoverable error: Argument 1 passed to pdoTools::setConfig() must be of the type array, null given, called in /home/s2040/www/system_heart/components/pdotools/model/pdotools/pdofetch.class.php on line 46 and defined [2015-06-10 08:11:24] (ERROR @ /home/s2040/www/system_heart/components/pdotools/model/pdotools/pdotools.class.php : 66) PHP warning: array_merge(): Argument #2 is not an array Готовые решения / Динамическое обновление основной корзины 29 0
09 июня 2015, 19:50 метод clearCache()Подскажите, пожалуйста — старый метод обновления кэша через cacheManager больше не используется? $modx->cacheManager->refresh(array('system_settings' => array())); Вопросы / Прошу помочь с очисткой кэша определенной страницы 14 0
09 июня 2015, 19:48 Перегуглил все, что только можно — подскажите, пожалуйста, как не меняя основной плагин/ядро минишопа реализовать общую корзину для определенных контекстов? Вопросы / minishop2 пустая корзина. 15 -1
08 июня 2015, 12:52 Дело ваше..) Но, к слову, наличие полноценных и подписанных доп.ячеек никогда не было гарантом того, что манагеры/контенщики будут заполнять их правильно..) Вопросы / Лишние нули в начале параметра "Вес" (Minishop2) 11 0
07 июня 2015, 21:57 Наверное, лучше вывести это в плагин на событие OnDocFormSave, чтобы не нагружать вызов. Как-то в духе: if ($modx->event->name == 'OnDocFormSave') { if($resource->get('class_key') == 'msProduct'){ $tv_value = $resource->getTVValue('tv_name'); //заменить tv_name на название тв-поля/параметра товара //кол-во необходимых нулей if (strlen($tv_value) < 3) { $newTvValue = = '0' . $tv_value; $resource->set('tv_name', $newTvValue); } $resource->save(); } } Вопросы / Лишние нули в начале параметра "Вес" (Minishop2) 11 0
06 июня 2015, 14:45 Диапазон сайтов, где необходим функционал бронирования чего-либо по календарным дням. Новые дополнения и их версии / [oneBooking] Версия 2.0.0-pl Доп. функционал 63 0
06 июня 2015, 14:32 Выглядит здорово.) Только достаточно узконаправленно — даже немного жаль, что такой серьезный модуль имеет достаточно узкую область применения. Новые дополнения и их версии / [oneBooking] Версия 2.0.0-pl Доп. функционал 63 0
03 июня 2015, 20:47 Один раз был вынужден делать нечто подобное, вешал событие на вывод мышки за пределы области тега html. В итоге, пока причесывал, так добесило всплывающее окно, что плюнул на заказ… Готовые решения / Повышаем конверсию на сайте... 20 0
03 июня 2015, 20:43 Конечно. У меня, в свое время, тоже она возникла..) Сортировка — при помощи mfilter2: <a data-sort="rating" data-dir="[[+mse2_sort:is=`rating:asc`:then=`asc`]]" data-default="desc" class="rating sort">рейтингу <span></span></a>А у самого вызова я leftJoin'ю сниппет VoteForms: [[!mFilter2? &suggestions=`1` &limit=`25` &loadModels=`voteforms` &paginator=`pdoPage@Pagination` &class=`msProduct` &element=`msProducts` &depth=`0` &toPlaceholders=`mse2_` &includeThumbs=`70x70` &showEmptyFilters=`0` &sort=`price:asc, rating:desc` &where=`{"class_key":"msProduct"}` &leftJoin=`{ "VoteFormThread": { "class": "VoteFormThread", "on": "msProduct.id = VoteFormThread.resource AND VoteFormThread.form = 1" } }` &select=`{"Data": "[[!getProductDataFields]]", "VoteFormThread": "VoteFormThread.rating AS rating, VoteFormThread.users_count AS totalVoted" }` &tpls=`item.list.table` ]] Вопросы / Каковы пределы возможностей modX? 15 +2 2
03 июня 2015, 16:29 Сейчас занимаюсь созданием интернет-магазина под modx — около 15 категорий первого уровня + выборочно второй и третий подуровень, на текущий момент чуть более 3000 товаров, присутствуют довольно сложные выборки с присоединением рейтингов, избранного, фильтрации на msearch по массе параметров. Все это пока на минимальном (150р в месяц) тарифе — полет нормальный, никаких проблем пока не выявлено, скорость загрузки тоже отличная. Урл: https://oil-rf.ru/catalog/avtomasla/motornyie Единственный момент — под сложные вызовы и if-развилки пишу свои сниппеты, а не использую modx-фильтры. Вопросы / Каковы пределы возможностей modX? 15 0
30 мая 2015, 10:21 Если это можно вывести через pdoTools — то да, достаточно добавить параметр &where. Новые дополнения и их версии / [msListOrders] - вывод списка заказов [Minishop2] 94 0
28 мая 2015, 13:00 Залейте на modstore, что-ли..) Новые дополнения и их версии / [lmims] - заголовки Last-Modified и Not Modified 31 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? В любом случаем стандартный флоу минишоп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... Да, планируется. Даже чуть больше, чем просто бонусная система)
Если с минимальными потерями (корзины похожи, но отличаются незначительно) — то легче всего при помощи ксс..))
В противном случае — редактировать основной javascript-файл, передавая в него параметр, какую страницу подгружать при обновлении и перехватывать его в классе корзины, добавляя зависимые от него условия вывода чанков.
Ну и (за это уже не ручаюсь) — посмотреть, переварит ли сниппет msCart параметры &tplRow и &tplOuter и, если нет, то добавить ему такую возможность (но это плохое решение [костыль], говорю сразу).
Проверьте, так ли называются ваши чанки и попробуйте заменить эти строчки.
=> проблема в классе корзины, которая возвращает данные, не распихав массив по чанку и его плейсхолдерам. Кидайте код класса корзины (+ вы ведь указали ваш новый класс в системных настройках minishop'a?)
По поводу массива — кидайте логи ошибок модкса, если в них что-то попадает. Ну и + чанки необходимо указывать те, которые есть в родном классе msCartProductHandler
Для чанка корзины (tpl.msCart.outer):
Для чанка оформления заказа (tpl.msOrder.outer) использовать ту же логику, только плейсхолдером выступит [[+order_cost]]
+ перехватывать итоговую стоимость плагином на события msOnBeforeChangeOrderStatus и аналогичным, сравнивая стоимость с требуемой и, в зависимости от этого, редиректить или выводить необходимые алерты.
Единственное, если у вас, допустим, расширен класс корзины для ajax-обновления, то также придется повесить условия на javascript.
Код примерно такой:
Но, к слову, наличие полноценных и подписанных доп.ячеек никогда не было гарантом того, что манагеры/контенщики будут заполнять их правильно..)
Как-то в духе:
В итоге, пока причесывал, так добесило всплывающее окно, что плюнул на заказ…
А у самого вызова я leftJoin'ю сниппет VoteForms:
Все это пока на минимальном (150р в месяц) тарифе — полет нормальный, никаких проблем пока не выявлено, скорость загрузки тоже отличная.
Урл: https://oil-rf.ru/catalog/avtomasla/motornyie
Единственный момент — под сложные вызовы и if-развилки пишу свои сниппеты, а не использую modx-фильтры.