Алексей
С нами с 13 апреля 2015; Место в рейтинге пользователей: #265Having в msproducts
Добрый день. Не получается с помощью msproducts и msproductremains вывести товары которые остались в одном экземпляре. На странице дополнения есть пример вывода товаров, которые есть в наличии:
[[!msProducts?
&leftJoin=`{"Remains":{"class":"msprRemains","on":"msProduct.id = Remains.product_id AND Remains.remains > 0"}}`
&groupby=`msProduct.id`
&select=`{"msProduct":"*","Remains":"SUM(Remains.remains) as remains"}`
&where=`{"Remains.remains:>":"0"}`
]]
Анализ лога итогового запроса показал, что вывести аналогичным образом продукты с суммарным остатком = 1 не получится и нужно использовать having.Отменить выбор radio input при повторном клике
В mFilter2 есть замечательная возможность запретить множественный выбор значений фильтра через опцию suggestionsRadio. Проблема заключается в том, что выбор значения при использовании такой опции нельзя отменить повторным кликом по нему. Если кто-то хорошо знаком с фронтендом mSearch2, подскажите, как наименее костыльно добавить в дефолтный js такой функционал?
Свой фильтр в mFilter2
Добрый день. Расскажите, пожалуйста, с какой целью используются методы getMyNewValues(array $fields, array $ids), buildMyNewFilter(array $values) и filterMyNew(array $requested, array $values, array $ids) при кастомизации mFilter2. Расковырял компонент, но так и не понял, что должен возвращать каждый из них. Хотя с последним ситуация более менее понятна. Странно, что в модели и сниппете не удается сделать var_dump. Очевидно, данные кешируются. Разъясните, как реализовать фильтр по произвольной таблице.
Синтаксис FastField, встроенного в парсер PdoTools
Всем привет. Подскажите, есть ли какой-то другой способ использования FastField из пакета pdoTools, кроме как через решетку? Большие фрагменты html-кода в стандартном фильтре вывода выглядят нечитабельно. Хочу с помощью Fenom повесить в tpl-чанке условие с проверкой на существование GET-параметра. Как это правильно и удобно сделать?
site_url недоступен в tpl.msEmail.new.user
Добрый день, коллеги. Выполняя мягкое обновление Minishop на сайте (с ручной заменой чанков магазина), столкнулся с неприятной проблемой. Опция site_url недоступна в шаблоне письма о новом заказе клиенту (возможно и в других). Для чистоты эксперимента я заменил содержимое чанка на содержимое tpl.msEmail. Методом тыка выяснил, что письма не отправляются, если в них есть плейсхолдеры {$site_url} и {$product.id | url: ['scheme' => 'full']}. Каждый из плейсхолдеров тем или иным образом использует опцию site_url. Сразу скажу, что выше переменная $site_url инициализируется так {var $site_url = ('site_url' | option) | preg_replace: '#/$#': ''}. Это в принципе и неважно, ведь блоку {$product.id | url: ['scheme' => 'full']} эта переменная не требуется, но этот блок также ломает отправку писем. Пошёл дальше: в чанке письма оставил только {'site_url' | option} — не работает. Также не работает и сниппет с содержимым return $modx->getOption('site_url');
msOptions определить в tpl выбранную опцию
Добрый вечер. Пытаюсь в корзине вывести выбранную опцию в виде раскрывающегося списка, чтобы покупатель мог изменить её прямо в корзине. Как в шаблоне определить, какому option добавить атрибут selected?
Кастомное ajax-событие корзины Minishop
Добрый день. Ранее на сайте срабатывало кастомное событие, позволяющее изменить в корзине выбранную опцию товара. Обновил Minishop и этот функционал полетел к чертям. Увидел, что из плагина Minishop пропало условие по моему событию, как и условия по другим событиям. Очевидно они перекочевали в код. Как теперь правильно восстановить кастомное событие?
mFilter + msProductRemains
Уточните, возможна ли интеграция фильтра из пакета mSearch2 с дополнением msProductRemains (https://modstore.pro/packages/ecommerce/msproductremains) с целью реализации такого фильтра, который будет показывать только те модификации товара, которые есть в наличии? К примеру, при фильтре по размеру одежды нужно показывать не модели в наличии, а модели у которых выбранный размер есть в наличии. Данные об остатках хранятся в отдельной таблице в таком виде joxi.ru/4Ak0LvVsykQRMr
Если такая интеграция возможна, не станет ли проблемой кэш фильтра?
Если такая интеграция возможна, не станет ли проблемой кэш фильтра?
Фильтр по товарам с учетом остатков
Как в minishop организовать остатки таким образом, чтобы посетитель мог фильтровать товары по свойствам, определяющим вариации товаров с учетом наличия этих вариаций в остатках?
Например, в магазине одежды требуется фильтровать по размеру одежды, но нет никакого смысла показывать в фильтре товары, у которых выбранный размер закончился.
Например, в магазине одежды требуется фильтровать по размеру одежды, но нет никакого смысла показывать в фильтре товары, у которых выбранный размер закончился.
Где хранить id, который требуется в сниппетах
Перед загрузкой страницы требуется определить региональный контекст, который будет неоднократно использоваться в сниппетах для правильного построения меню, перенаправлений и вывода региональной информации.
Решил реализовать это в виде плагина, который срабатывает до обработки шаблона когда контекст текущей страницы уже доступен. Плагин будет определять правильный регион (по кукам, текущему контексту и geoip) и сохранять его context_key в чанке, который затем будет использоваться сниппетами.
Подскажите, на какое событие нужно вешать плагин и есть ли альтернативные, более правильные варианты реализации?
Решил реализовать это в виде плагина, который срабатывает до обработки шаблона когда контекст текущей страницы уже доступен. Плагин будет определять правильный регион (по кукам, текущему контексту и geoip) и сохранять его context_key в чанке, который затем будет использоваться сниппетами.
Подскажите, на какое событие нужно вешать плагин и есть ли альтернативные, более правильные варианты реализации?