DiscountMS2 - Скидки для категорий товаров
Поздравляю всех (или сочувствую всем, спорный вопрос) с началом новой рабочей недели!
Наклепал свой первый более-менее серьезный компонент, хочу представить на суд общественности.
Компонент предназначен для выставления скидки внутри категорий. Поддерживает мультикатегории и указание глубины поиска товаров.
Есть возможность указания скидки как со страницы компонента, так и через TV.
Вот так выглядит страница в админке:

Вот так — указание скидки через ТВ:

Добавление новой скидки:

Актуальность: Сейчас есть решения, но, на мой взгляд, порой с чересчур большим функционалом — при загрузке товара проверяется группа пользователя и в зависимости от нее показывается на лету меняющаяся цена. Не проверял, но есть подозрение, что при работе с тысячами товаров будут наблюдаться приличные тормоза. Мое решение меняет цену один раз, после чего никакой обработки не проводится.
Принцип работы: У меня все сделано проще (функционал беднее, но порой он не нужен). В таблицу товара добавляется поле original_price, в котором хранится оригинальная цена товара. При добавлении скидки для категории берется значение из original_price, к нему применяется скидка и окончательный вариант выставляется в поле price.
При большом количестве товаров может зависать! Пока мой предел — 1500 товаров за один раз.
Подробной документации пока нет, может быть добавлю позднее. Возможно закину в modstore (в официальный магазин не хочу, там все на англ. должно быть — лично мне не удобно).
Компонент пока сырой! Опробован на небольшом количестве сайтов! Если использовать на рабочем проекте, то настоятельно рекомендую перед установкой сделать бэкап!
Был опробован с modx 2.5.7, требует для работы новую версию minishop2 (на самом деле при установке пока не требует, так что на компонент надейся, но и сам не плошай).
Для пользователя базы данных должна быть привилегия ALTER (обычно она есть, но не всегда).
Жду отзывов и пожеланий, по возможности буду дорабатывать.
Что на данный момент я не знаю, как сделать:
1) При установке проверка версии минишопа.
2) При создании скидки не получается указать дефолтные значения полей — поставил бы глубину 10 по умолчанию.
3) Не придумал, как лучше сделать выбор категории. На создание выпадающего списка с категориями времени ушло больше, чем на весь компонент. Но есть подозрения, что вписывать id удобнее.
Ссылка на скачивание
Наклепал свой первый более-менее серьезный компонент, хочу представить на суд общественности.
Компонент предназначен для выставления скидки внутри категорий. Поддерживает мультикатегории и указание глубины поиска товаров.
Есть возможность указания скидки как со страницы компонента, так и через TV.
Вот так выглядит страница в админке:
Вот так — указание скидки через ТВ:
Добавление новой скидки:
Актуальность: Сейчас есть решения, но, на мой взгляд, порой с чересчур большим функционалом — при загрузке товара проверяется группа пользователя и в зависимости от нее показывается на лету меняющаяся цена. Не проверял, но есть подозрение, что при работе с тысячами товаров будут наблюдаться приличные тормоза. Мое решение меняет цену один раз, после чего никакой обработки не проводится.
Принцип работы: У меня все сделано проще (функционал беднее, но порой он не нужен). В таблицу товара добавляется поле original_price, в котором хранится оригинальная цена товара. При добавлении скидки для категории берется значение из original_price, к нему применяется скидка и окончательный вариант выставляется в поле price.
При большом количестве товаров может зависать! Пока мой предел — 1500 товаров за один раз.
Подробной документации пока нет, может быть добавлю позднее. Возможно закину в modstore (в официальный магазин не хочу, там все на англ. должно быть — лично мне не удобно).
Компонент пока сырой! Опробован на небольшом количестве сайтов! Если использовать на рабочем проекте, то настоятельно рекомендую перед установкой сделать бэкап!
Был опробован с modx 2.5.7, требует для работы новую версию minishop2 (на самом деле при установке пока не требует, так что на компонент надейся, но и сам не плошай).
Для пользователя базы данных должна быть привилегия ALTER (обычно она есть, но не всегда).
Жду отзывов и пожеланий, по возможности буду дорабатывать.
Что на данный момент я не знаю, как сделать:
1) При установке проверка версии минишопа.
2) При создании скидки не получается указать дефолтные значения полей — поставил бы глубину 10 по умолчанию.
3) Не придумал, как лучше сделать выбор категории. На создание выпадающего списка с категориями времени ушло больше, чем на весь компонент. Но есть подозрения, что вписывать id удобнее.
Ссылка на скачивание
Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
При создании поля указать параметр
> Но есть подозрения, что вписывать id удобнее.
Можно мультиселект сделать.
2) Тогда на странице компонента будет путаница, мне кажется.