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