27 июля 2017, 17:44 $raw = $this->modx->getCollection('msprRemains', array('product_id' => $product_id)); $rem = false; foreach ($raw as $one) { $compare = $one->get('options'); if ($where == $compare) { $rem = $one; break; } }вот так вот у меня заработало. Нестрогое сравнение массивов плюет на тип значений и порядок ключей, что меня полностью устраивает) Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
27 июля 2017, 16:54 если у Вас уже был до этого msimportexport с импортом остатков, то он будет работать и в новой версии. Проверял Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
27 июля 2017, 16:51 Здравствуйте, Сергей! вылез очень серьезный и глупый баг, связанный с тем, что данные хранятся json строкой. кейс: используются color,size остатки импортированы из таблицы. размеры у кроссовок, например: 34, 34.5, 35, 35.5 в таблице экселя 34 это число, а 34.5 — строка. Так это и пишется в базу — «size»:34 и «size»:«34.5» а дальше начинается жесть, потому что размер 34 (и все целые числа) не добавить в корзину, хотя остатки есть! лезу в плагин — вижу метод getRemains лезу в класс — и в этом методе вижу ПРЯМОЕ СРАВНЕНИЕ JSON строки, сформированной тут же, со строкой из базы! $rem = $this->modx->getObject('msprRemains', array( 'product_id' => $product_id ,'options' => $this->modx->toJSON($where) ));я понимаю, что как иначе выбрать из базы, но выходит реализация в корне неверная: в скрипте массив собирается из данных post-запроса, а там всё — строки. И в итоге мы пытаемся сравнить «size»:«34» из скрипта с «size»:34 из базы. А поскольку это строка, и ей плевать на сами данные, получаем ошибку. а если вдруг окажется, что свойства в остатке записаны не в том порядке, что в системной настройке, опять же будет ошибка, хотя данные совпадут. в связи с этим предлагаю изменить метод getRemains — получать там сначала всю коллекцию остатков данного товара, а потом циклом проходить по ней с приведением типов, а не тупо сравнивать строку. Дольше, зато работать будет. Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
14 июля 2017, 11:28 а всё, не стало компонента в репозитории? Новые дополнения и их версии / [StatistiX] – Статистика посещаемости сайта 11 0
14 июля 2017, 06:21 это тоже здорово, но я вообще про страницу профиля. Прости, что в этой теме) Пошаговые инструкции / [ExtJS] Расширяем нативную гриду юзеров 15 0
13 июля 2017, 02:26 ребяяяят, верните поддержку remains, пожалуйста! а то пункт в выпадашке есть — «импорт остатков», но файл выбираешь и он навсегда подвисает. А раньше работало. Обидно. Новые дополнения и их версии / msImportExport 919 0
12 июля 2017, 20:11 а вот такой вот вопрос нарисовался, немного по теме прошлого топика больше: как бы так грамотно на странице юзера вывести превью его аватарки? по типу image tv Пошаговые инструкции / [ExtJS] Расширяем нативную гриду юзеров 15 0
11 июля 2017, 23:53 а как правильно модифицировать данные в этом событии? пишу вот так: case 'msieOnBeforeImportProduct': if (isset($destData['old_price'])) { if ($destData['old_price'] > 0) { $destData['sale'] = 1; } else { $destData['sale'] = 0; } } break;чет не снимается флажок sale Новые дополнения и их версии / msImportExport 919 0
11 июля 2017, 13:25 спасибо вот пример файла Новые дополнения и их версии / msCDEK 1.0.0: расчет доставки ТК СДЕК 59 0
11 июля 2017, 13:16 как бы исключать из списка города, в которые доставка не работает? или сообщение выводить — что сюда нельзя? спасибо, про селект понял. и еще, было бы здорово добавить функционал выгрузки заказов в сдэк — либо через интеграцию, либо хотя бы в виде экспорта таблицы в нужном формате Новые дополнения и их версии / msCDEK 1.0.0: расчет доставки ТК СДЕК 59 0
11 июля 2017, 13:01 а с geolocation это всё не поженить? Новые дополнения и их версии / msCDEK 1.0.0: расчет доставки ТК СДЕК 59 0
11 июля 2017, 12:50 я что-то недоразобрался… у меня в селекто вообще нет городов, а в автокомплите всякая шушера — вводишь «Москва», получаешь всё что угодно кроме москвы — все пригороды и т д. Даже если прям написать «Москва», выбирается пригород. в том числе куча мест, при выборе которых не меняется сумма заказа. То есть, туда видимо не доставляют этим способом. Как бы это пофиксить? где я неправ? Новые дополнения и их версии / msCDEK 1.0.0: расчет доставки ТК СДЕК 59 0
07 июля 2017, 22:17 спасибо, Паша) а то я уже в плагин джаваскрипта насовал. Грид расширил, но с доп. фильтрами так и не разобрался. Так что статья кстати Пошаговые инструкции / [ExtJS] Расширяем нативную гриду юзеров 15 +3
28 июня 2017, 22:26 я наверное все пропустил уже?) давно хотелось попробовать Redactor Новости и события / Купон на дополнение Modmore 35 0
20 июня 2017, 12:11 это повлияет на ответ?) на remains можно переделать на optionsPrice2, но это геморно Новые дополнения и их версии / msImportExport 919 0
20 июня 2017, 02:07 здравствуйте! а экспорт остатков будет? например, хотим выгрузить табличку, вписать новые остатки и загрузить обратно. Новые дополнения и их версии / msImportExport 919 0
19 июня 2017, 17:40 не, у меня и там и там не показывает. При этом в шаблоне я вполне вменяемо работаю с остатками Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
19 июня 2017, 17:30 Здравствуйте! а как быть со свойствами товаров, добавленными через плагины minishop2? оно не выводится в таблицу, к сожалению Новые дополнения и их версии / [msProductRemains] Компонент учёта остатков товара 179 0
16 июня 2017, 17:41 title не должен ничего не кому. Внутри сниппета он выполняет функцию «найти — заменить». Никакого отношения к modx->getPlaceholder не имеет, иначе был бы доступен и вне getImageList. А вообще на феном, как уже сказали, этот сниппет ни к чему Вопросы / Вопрос по Fenom 4 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
вылез очень серьезный и глупый баг, связанный с тем, что данные хранятся json строкой.
кейс: используются color,size
остатки импортированы из таблицы.
размеры у кроссовок, например: 34, 34.5, 35, 35.5
в таблице экселя 34 это число, а 34.5 — строка. Так это и пишется в базу — «size»:34 и «size»:«34.5»
а дальше начинается жесть, потому что размер 34 (и все целые числа) не добавить в корзину, хотя остатки есть!
лезу в плагин — вижу метод getRemains
лезу в класс — и в этом методе вижу ПРЯМОЕ СРАВНЕНИЕ JSON строки, сформированной тут же, со строкой из базы!
я понимаю, что как иначе выбрать из базы, но выходит реализация в корне неверная: в скрипте массив собирается из данных post-запроса, а там всё — строки. И в итоге мы пытаемся сравнить «size»:«34» из скрипта с «size»:34 из базы. А поскольку это строка, и ей плевать на сами данные, получаем ошибку.
а если вдруг окажется, что свойства в остатке записаны не в том порядке, что в системной настройке, опять же будет ошибка, хотя данные совпадут.
в связи с этим предлагаю изменить метод getRemains — получать там сначала всю коллекцию остатков данного товара, а потом циклом проходить по ней с приведением типов, а не тупо сравнивать строку. Дольше, зато работать будет.
как бы так грамотно на странице юзера вывести превью его аватарки? по типу image tv
пишу вот так:
чет не снимается флажок sale
вот пример файла
спасибо, про селект понял.
и еще, было бы здорово добавить функционал выгрузки заказов в сдэк — либо через интеграцию, либо хотя бы в виде экспорта таблицы в нужном формате
а то я уже в плагин джаваскрипта насовал. Грид расширил, но с доп. фильтрами так и не разобрался. Так что статья кстати
на remains
можно переделать на optionsPrice2, но это геморно
удаленоа как быть со свойствами товаров, добавленными через плагины minishop2? оно не выводится в таблицу, к сожалению