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
> При создании скидки не получается указать дефолтные значения полей — поставил бы глубину 10 по умолчанию.
При создании поля указать параметр
> Но есть подозрения, что вписывать id удобнее.
Можно мультиселект сделать.
При создании поля указать параметр
originalValue: 10
> Но есть подозрения, что вписывать id удобнее.
Можно мультиселект сделать.
1) Благодарю, помогло!
2) Тогда на странице компонента будет путаница, мне кажется.
2) Тогда на странице компонента будет путаница, мне кажется.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.