Алексей

Алексей

С нами с 13 апреля 2015; Место в рейтинге пользователей: #265

Having в 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.
Алексей
22 апреля 2017, 11:56
modx.pro
1 260
0

Отменить выбор radio input при повторном клике

В mFilter2 есть замечательная возможность запретить множественный выбор значений фильтра через опцию suggestionsRadio. Проблема заключается в том, что выбор значения при использовании такой опции нельзя отменить повторным кликом по нему. Если кто-то хорошо знаком с фронтендом mSearch2, подскажите, как наименее костыльно добавить в дефолтный js такой функционал?
Алексей
28 января 2017, 14:35
modx.pro
1 076
0

Свой фильтр в mFilter2

Добрый день. Расскажите, пожалуйста, с какой целью используются методы getMyNewValues(array $fields, array $ids), buildMyNewFilter(array $values) и filterMyNew(array $requested, array $values, array $ids) при кастомизации mFilter2. Расковырял компонент, но так и не понял, что должен возвращать каждый из них. Хотя с последним ситуация более менее понятна. Странно, что в модели и сниппете не удается сделать var_dump. Очевидно, данные кешируются. Разъясните, как реализовать фильтр по произвольной таблице.
Алексей
24 января 2017, 20:08
modx.pro
4
4 152
0

Синтаксис FastField, встроенного в парсер PdoTools

Всем привет. Подскажите, есть ли какой-то другой способ использования FastField из пакета pdoTools, кроме как через решетку? Большие фрагменты html-кода в стандартном фильтре вывода выглядят нечитабельно. Хочу с помощью Fenom повесить в tpl-чанке условие с проверкой на существование GET-параметра. Как это правильно и удобно сделать?
Алексей
23 января 2017, 09:32
modx.pro
3 307
0

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');
Алексей
22 января 2017, 09:06
modx.pro
1 202
0

msOptions определить в tpl выбранную опцию

Добрый вечер. Пытаюсь в корзине вывести выбранную опцию в виде раскрывающегося списка, чтобы покупатель мог изменить её прямо в корзине. Как в шаблоне определить, какому option добавить атрибут selected?
Алексей
20 января 2017, 15:20
modx.pro
766
0

Кастомное ajax-событие корзины Minishop

Добрый день. Ранее на сайте срабатывало кастомное событие, позволяющее изменить в корзине выбранную опцию товара. Обновил Minishop и этот функционал полетел к чертям. Увидел, что из плагина Minishop пропало условие по моему событию, как и условия по другим событиям. Очевидно они перекочевали в код. Как теперь правильно восстановить кастомное событие?
Алексей
20 января 2017, 11:19
modx.pro
1 445
0

mFilter + msProductRemains

Уточните, возможна ли интеграция фильтра из пакета mSearch2 с дополнением msProductRemains (https://modstore.pro/packages/ecommerce/msproductremains) с целью реализации такого фильтра, который будет показывать только те модификации товара, которые есть в наличии? К примеру, при фильтре по размеру одежды нужно показывать не модели в наличии, а модели у которых выбранный размер есть в наличии. Данные об остатках хранятся в отдельной таблице в таком виде joxi.ru/4Ak0LvVsykQRMr

Если такая интеграция возможна, не станет ли проблемой кэш фильтра?
Алексей
17 января 2017, 09:50
modx.pro
1
897
0

Фильтр по товарам с учетом остатков

Как в minishop организовать остатки таким образом, чтобы посетитель мог фильтровать товары по свойствам, определяющим вариации товаров с учетом наличия этих вариаций в остатках?

Например, в магазине одежды требуется фильтровать по размеру одежды, но нет никакого смысла показывать в фильтре товары, у которых выбранный размер закончился.
Алексей
16 января 2017, 09:58
modx.pro
1
1 069
0

Где хранить id, который требуется в сниппетах

Перед загрузкой страницы требуется определить региональный контекст, который будет неоднократно использоваться в сниппетах для правильного построения меню, перенаправлений и вывода региональной информации.
Решил реализовать это в виде плагина, который срабатывает до обработки шаблона когда контекст текущей страницы уже доступен. Плагин будет определять правильный регион (по кукам, текущему контексту и geoip) и сохранять его context_key в чанке, который затем будет использоваться сниппетами.

Подскажите, на какое событие нужно вешать плагин и есть ли альтернативные, более правильные варианты реализации?
Алексей
07 августа 2016, 13:58
modx.pro
1
1 052
0