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
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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-фильтры.