[informMe] Подписка на поступление товара
informMe даёт возможность пользователю подписаться на товар (или ещё что-то) которого нет в наличии, с уведомлением его при поступлении товара. Разрабатывался он под miniShop2, но должен работать со всеми ресурсами. Приглашаю на alpha-тестирование.
При загрузки каталога товаров или карточки informMe смотрит в это поле и выводит ту или иную кнопку, в зависимости от наличия товара.
Далее все действия происходят в модальном окне.
Если пользователь не авторизован и это его первая подписка, пока жива сессия, informMe запросит подтверждение Email — реализовал через отправку ключа на указанную почту.
Дальнейшие подписки происходят без подтверждения почты.
Поэтому, приглашаю всех желающих на тестирование — пакет находится в стадии alpha.
Чтобы начать тестировать — получите ключ, не покупая пакет, и пришлите его мне на marat@marabar.ru. Не забудьте указать имя пользователя на modstore.pro — администрация откроет вам доступ к пакету.
Или поддержите проект, купив компонент.
Что нужно доработать, как мне кажется:
Логика
Подразумевается, что на сайте есть поле, в котором хранятся остатки товара (буду говорить про товары, так как с ними и работал), это может быть TV или кастомная колонка в таблице, допустим: ms2_products. Потом, в параметрах сниппета, это всё указывается. Об этом ниже.При загрузки каталога товаров или карточки informMe смотрит в это поле и выводит ту или иную кнопку, в зависимости от наличия товара.
Далее все действия происходят в модальном окне.
Если пользователь не авторизован и это его первая подписка, пока жива сессия, informMe запросит подтверждение Email — реализовал через отправку ключа на указанную почту.
Дальнейшие подписки происходят без подтверждения почты.
Параметры сниппета informMe
Этот сниппет служит для вывода кнопок: В корзину/Сообщить о поступлении.- &class — Класс таблицы БД с товарами. По умолчанию: msProduct.
- &frontendCss — Путь до файла со стилями
- &frontendJs — Путь до JS-файла
- &id — ID ресурса, если пусто — текущий ресурс. По умолчанию: Текущий ресурс.
- &includeTVs — Список имён дополнительных полей, через запятую, значения которых нужно получить. Значения запишутся в плейсхолдеры: [[+tvname]]
- &tpl — Чанк вывода кнопки. По умолчанию: informMeButtonTpl
- &tplEmailKey — Чанк письма с ключом для отправки подписчику. По умолчанию: informMeEmailKeyTpl
- &tplEmailSupple — Чанк письма об успешной подписки. По умолчанию: informMeEmailSuppleTpl
- &tplError — Чанк вывода ошибок. По умолчанию: informMeErrorTpl
- &tplForm — Чанк формы подписки. По умолчанию: informMeFormTpl
- &tplKey — Чанк формы для ввода ключа. По умолчанию: informMeKeyTpl
- &tplModal — Чанк с модальным окном. По умолчанию: informMeModalTpl
- &tv — Для хранения остатков используется TV? По умолчанию: Нет
- &tvId — Если параметр &tv установлен в «Да», то здесь нужно указать ID дополнительного поля который хранит остатки товара
- &value — Если для хранения остатков используется колонка в таблице БД, здесь необходимо указать её название. Например в «value» хранятся значения TV полей. По умолчанию: value
- &valueClass — Класс таблицы БД, где хранятся остатки. Если параметр &tv установлен в «Нет», этот параметр игнорируется. По умолчанию: msProductData
Примеры
Минимальный вызов для товаров miniShop2, на стр. каталога:[[!informMe?
&id = `[[+id]]`
&value = `balance` <!-- Колонка в таблице ms2_products с остатками -->
]]
Тестирование
Разрабатывать я его начал ещё летом, но как говорится — чем дальше в лес, тем толще партизаны. Очень много нюансов, по мере разработки, начали появляться.Поэтому, приглашаю всех желающих на тестирование — пакет находится в стадии alpha.
Чтобы начать тестировать — получите ключ, не покупая пакет, и пришлите его мне на marat@marabar.ru. Не забудьте указать имя пользователя на modstore.pro — администрация откроет вам доступ к пакету.
Или поддержите проект, купив компонент.
Что нужно доработать, как мне кажется:
- Смена кнопки после подписки на «Подписан», при нажатии на которую предлагать отписаться или изменить кол-во.
- Вывод в админ. части общего кол-ва требуемых товаров без привязки к пользователю, по убыванию.
- Вешать на событие сохранения ресурса — не сработает, если во время импорта пишется сразу в БД
- Крон — забывчивость, после смены хостинга. Хотя, как часто они меняются...
- Ручное управление
Поблагодарить автора
Отправить деньги
Комментарии: 5
Зачем обязательное имя и количество? Если клиент введет, допустим 2, то если товар 1, то ему никогда не придет оповещение и даже этот 1 товар ему не продадите.
По подтверждению емейла тоже сложно, вводить там что-то… Просто ссылку с кодом пихайте в письмо и в плагине на событие обработки запроса обрабатывайте.
Так и каким в итоге способом происходит оповещение?
По подтверждению емейла тоже сложно, вводить там что-то… Просто ссылку с кодом пихайте в письмо и в плагине на событие обработки запроса обрабатывайте.
Так и каким в итоге способом происходит оповещение?
А это наследие от клиента, который заказывал этот компонент а потом переключил меня на другое.
Я ещё много вырезал, там и контроль остатков был, и оповещение менеджеру о статусе кол-ва «Ноль», и возможность разрешать подписку тем или иным (авторизован/не авторизован), и возможность выбора проверки адреса почты с подтверждением или через проверку записи DNS… (не помню, это я сам придумал или он заказывал, точно знаю — что ему нужен был реальный адрес почты — всё сразу пишется в рассылку (Sendex), любитель, умеренно, поспамить, просто))), ну и т.д.
Количество: оно не обязательно, можно вырезать из формы — будет один всегда. Замысел был такой: ведётся учёт всех ожидающих товар, с выводом в бекенд, где в первую очередь показываются самые востребованные — статистика, одним словом.
Просто мы, наверное, разные вещи подразумеваем, — ведь товар может быть не только розничный, но и оптовый.
Да даже если и розничный, в штуках, ведь, не всё меряется, допустим в строительстве…
У меня есть мысли по поводу оповещения, как со стороны заказчика, так и от себя.
Хотелось бы услышать разработчиков, работающих со своими клиентами — их мысли, чтобы этот компонент был максимально универсален.
Я ещё много вырезал, там и контроль остатков был, и оповещение менеджеру о статусе кол-ва «Ноль», и возможность разрешать подписку тем или иным (авторизован/не авторизован), и возможность выбора проверки адреса почты с подтверждением или через проверку записи DNS… (не помню, это я сам придумал или он заказывал, точно знаю — что ему нужен был реальный адрес почты — всё сразу пишется в рассылку (Sendex), любитель, умеренно, поспамить, просто))), ну и т.д.
Зачем обязательное имя и количество?Имя нужно для обращения к человеку посредством обратной связи — это правильно, мне кажется.
Количество: оно не обязательно, можно вырезать из формы — будет один всегда. Замысел был такой: ведётся учёт всех ожидающих товар, с выводом в бекенд, где в первую очередь показываются самые востребованные — статистика, одним словом.
Если клиент введет, допустим 2, то если товар 1, то ему никогда не придет оповещение и даже этот 1 товар ему не продадите.Так вот для этого и нужно кол-во предполагаемой покупки. Всё правильно, как мне кажется, — зашёл менеджер в таблицу ожидаемых товаров, накинул сверху n-ое кол-во и отдал в отдел поставок (ну или заказал/купил) — разослал уведомления потенциальным заказчикам.
Просто мы, наверное, разные вещи подразумеваем, — ведь товар может быть не только розничный, но и оптовый.
Да даже если и розничный, в штуках, ведь, не всё меряется, допустим в строительстве…
Так и каким в итоге способом происходит оповещение?Пока ни каким, поэтому и alpha-тестирование.
У меня есть мысли по поводу оповещения, как со стороны заказчика, так и от себя.
Хотелось бы услышать разработчиков, работающих со своими клиентами — их мысли, чтобы этот компонент был максимально универсален.
Проще делал:
в таблице товаров есть поле «Наличие», оно может быть «Да» или «Нет». Соответственно, при проверке этого поля показываю пользователю или кнопку «купить», или кнопку «уведомить о товаре». При нажатии «уведомить о товаре» всплывает окошко с вводом почты и именем. Всё. У меня только автоматизации нет, просьба клиента — всё с вручную (товар вообще может быт снят с продажи при отсутствии). Всё встроенными средствами делается.
Работа с tv как-то в minishop2 не комильфо
Зачем количество?
Что такое ключ и для чего он?
Для чего подтверждение?
в таблице товаров есть поле «Наличие», оно может быть «Да» или «Нет». Соответственно, при проверке этого поля показываю пользователю или кнопку «купить», или кнопку «уведомить о товаре». При нажатии «уведомить о товаре» всплывает окошко с вводом почты и именем. Всё. У меня только автоматизации нет, просьба клиента — всё с вручную (товар вообще может быт снят с продажи при отсутствии). Всё встроенными средствами делается.
Работа с tv как-то в minishop2 не комильфо
Зачем количество?
Что такое ключ и для чего он?
Для чего подтверждение?
Работа с tv как-то в minishop2 не комильфоВ компоненте есть выбор, или использовать TV, или кастомную колонку в таблице miniShop2, если это для miniShop2.
По остальным вопросам ответил выше, спасибо за вопросы!
Где можно скачать? В modstore.pro не нашел…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.