Денис Богдановский
С нами с 24 февраля 2013; Место в рейтинге пользователей: #248msOptionsPrice2 и составной товар
Возникла необходимость при помощи msOptionsPrice2 реализовать составной товар. Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
Например, есть опция Наполнители, у нее около 20 значений. На фронте, при выборе каждого из значений, цена товара должна увеличиваться на N рублей. Проблема заключается в том, что имена тегам чекбоксов мы даем в виде массива:
<input type="checkbox" name="cb[]">
Компонент, в свою очередь, с таким работать не умеет. Предлагаю решение в четыре простых шага![msOptionsPrice2] работа с остатками
Опишу решение ряда проблем с которыми столкнулся сам. msOptionsPrice2 очень крутое решение для minishop2 но для нормальной работы с остатками там очень мало функционала.
Проблемы:
Проблемы:
- На странице каталога и товара нет плейсхолдера, с помощью которого можно было бы скрыть кнопку добавления в корзину и вывести свою информацию
- На странице каталога при добавлении товара проверяется на наличии первая модификация, и, если она отсутствует, то выскакивает оповещение о недоступности товара
- На миникарточке указана неправильная цена, т.к. выводится цена продукта, а не цена модификации
Тест вложенности ресурса в контейнер [с блекджеком и плюхами]
Проверить, есть ли контейнер в списке родителей ресурса, можно разными способами:
- Можно сделать это используя карту ресурсов, которую MODX создаёт для каждого контекста после обновления кеша. Для этого необходимо воспользоваться методом $modx->getParentIds. Таким образом нагрузка и время затрачиваемое на проверку будет минимальным.
- Не заморачиваться и сделать всё исключительно на Fenom, без модификаторов. Тут мы тоже можем воспользоваться методом $_modx->getParentIds, который Василий услужливо вынес в список доступных в Fenom.
- Можно даже извратиться до того, что на каждую такую проверку получать объект через getObject('modResource') + получать объекты его родителей через getOne('Parent'). К слову, что будет в случае, если нам, к примеру, надо проверить 50 товаров на странице на вложенность в определённую категорию?
Ради интереса, я воспроизвёл подобную ситуацию на тестовом сайте Modhost:
- Без каких-либо проверок 50 товаров в списке категории выводятся за 0,0282 сек.
- С подобной проверкой, за 0.1304 сек.
- С проверкой, которую мы рассматриваем в этом посте, за 0.0307 сек.
А потом заказчики сходят с ума, почему их сайт так долго открывается...
[QuickView] - быстрый просмотр в модальном окне.
QuickView — быстрый просмотр любого элемента в модальном окне.
— работа с любыми ресурсами
— работа с чанками, сниппетами, шаблонами
— вывод в модальное окно, либо в указанный селектор
— поддержка шаблонизатора fenom
Основное отличие от ранних версий работа без каких либо сниппетов, нужно только инициализировать скрипт.
Интерактивные примеры тут quickview.vgrish.ru/
— работа с любыми ресурсами
— работа с чанками, сниппетами, шаблонами
— вывод в модальное окно, либо в указанный селектор
— поддержка шаблонизатора fenom
Основное отличие от ранних версий работа без каких либо сниппетов, нужно только инициализировать скрипт.
Интерактивные примеры тут quickview.vgrish.ru/
Регистрация пользователя с суммой на счёте
Простенький скрипт, который пробегает по массиву email => name, регистрирует пользователя в системе и кладёт ему определённую сумму на внутренний счёт miniShop2.
Запускать ровно один раз, результатом будет вывод списка имён, ящиков и паролей (если юзер еще не был зарегистрирован). При повторном запуске юзерам зачислится еще раз такая же сумма.
Можно использовать для раздачи рекламных аккаунтов в магазинах.
Запускать ровно один раз, результатом будет вывод списка имён, ящиков и паролей (если юзер еще не был зарегистрирован). При повторном запуске юзерам зачислится еще раз такая же сумма.
Можно использовать для раздачи рекламных аккаунтов в магазинах.
Seo делает из сайта унылое оно
Добрый день, простите за пост, получил очередное ТЗ от SEO агентства и колотит уже от доработок, которые уродуют интернет-магазин. Накипело, высказаться хочу.
Неужели у всех так?
Неужели у всех так?
msOneClick - «Купить в один клик»
Приложение создает заказ в интернет-магазине minishop2, а так же может отправлять заказ в виде письма на указанный e-mail адрес.
Для работы необходимо вставить сниппет на страницу с товаром [[!msOneClick]] и у вас появится кнопка Купить в 1 клик
Для работы необходимо вставить сниппет на страницу с товаром [[!msOneClick]] и у вас появится кнопка Купить в 1 клик
Демо сайта
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
[msPromoCode] 1.2.0 с условиями применения купона
В новой версии msPromoCode у нас появилась возможность указать, при каких условиях к заказу будет применяться скидка промо-кода.
Список условий:
- Сумма корзины (от)
- Сумма корзины (до)
- Кол-во товаров в корзине (от)
- Кол-во товаров в корзине (до)