26 янв. 2015 г., 12:02
ShopModxBox успешно интегрирован в интернет-магазин rightstarter.ru
?
?
?
Механизм работы
В качестве модуля интернет-магазина использовался shopkeeper. Ранее другие специалисты уже пробовали доработать shopkeeper, чтобы реализовать пожелания клиента, но желаемого результата достигнуто не было. Для изменения механизма работы магазина модуль shopkeeper был заменен на shopModx. После смены движка магазина доработать желаемый функционал уже не составило труда.
Группы пользователей: скидки и отображение количества доступного товара
На сайте существуют несколько групп пользователей. У каждой группы своя видимость содержимого сайта (вкладки, предложения, прайсы и т.п.).
Вид страницы для неавторизованного пользователя:
?
Вид страницы для авторизованного пользователя:
?
Добавление товара в корзину: проверка количества
Для новой версии корзины было введено условие по добавлению товаров. В корзину нельзя добавить товаров больше, чем есть в наличии. При срабатывании условия выводится сообщение о количестве товаров в наличии и перерасходе в заказе:
?
Оформление заказа
При оформлении заказа товар проверяется на его наличие. По каждому недостающему по количеству товару будет выведено сообщение и строки с товаром будут подсвечены.
?
Перерасчет остатков
При успешно оформленном заказе остатки товара в базе пересчитываются.
Как-то пусто в каталоге
i65.fastpic.ru/big/2015/0126/3e/3be3c668c5dee364318e5d9a0c9b403e.png
Вы зашли во вкладку «Магазин», а каталог — вот он: joxi.ru/KAxgqR8iwJbw28
Ура!!! долгожданная реализация!
Понял. Было бы неплохо ссылку на магазин в топике оставить ;)
Исправили :)
Вань, это политика магазина, обсуждать ее не имеем права. В общем, там все только по поиску. Но может политика скорректируется. А так там на сейчас 39 808 товаров, 40 165 документов и 446 025 записей TV-параметров (уменьшилось после чистки).
Если вы про остатки, то мы думаем на счет того, чтобы запилить их в сборку. Погоняем, потестируем, переосмыслим и запилим.
Решили обойтись базовым функционалом MODX для хранения свойств сущностей?
Кстати с тайтла главной страницы лучше убирать слово «Главная» так как она не имеет отношение к контенту магазину.
Повторюсь, у них там своя политика, свои специалисты и мы особо не лезем туда. Все эти рекомендации мы дали, но это уже им самим решать что и как делать. Странно все это, но не моего ума дело :)
Т.е. вы занимались чисто движком?
Да, причем к уже готовому магазину. У них раньше какие-то специалисты то одно делали, то другое, при чем так, что иногда даже у одних пользователей появлялись корзины других пользователей, а некоторые блоки кода были просто вырвиглазные. К примеру, как тебе вот такой чанк, отвечающий за вывод цены в зависимости от группы пользователя (а чаще всего от его id-ишника)? joxi.ru/EA4NeMZf07M3mb
Мало того, что производительность отдыхает, так еще и скидка во фронт выводится, но это совсем не на уровне получения цен товаров для конкретного пользователя. Итог такой: во фронте юзер видит одно, а на почту приходит другое (без скидки) и манагеры в управлении заказами видят без скидки и высчитывают сидят все вручную (ну, это так было). Сейчас скидки учитываются еще на этапе выборки данных товаров, так что где бы не был вызван процессор получения данных товаров — цены всегда будут с учетом персональных скидок текущего пользователя. И на посту приходят письма уже с учетом скидок, и в управлении заказами менеджер видит стоимость с учетом скидки и размер скидки joxi.ru/YmEVeE0uLQ3426
На счет остатков, мне пришлось в самую первую очередь решить эту проблему, так как мой интернет магазин работал со складом и заказывать того, чего нет на складе нельзя. Видимо у вас первый заказчик с таким требованием. Но склад должен быть обязателен для магазина. Скорее всего логика мало чем отличается от моей. Да и сейчас для меня решить такую задачу раз плюнуть на шопмодксе) а когда то только изучал его))) Так что обязательно закиньте его в сборку)
У меня вопрос по поводу сущностей товара, я так понимаю все дополнительное описание вы заносили в ТВ параметры? Я лично отказался от этого, расширив класс ShopmodxProduct.
Видимо у вас первый заказчик с таким требованием.
Нет, не первый. Вообще у нас много чего делалось и делается, чего не видно. Просто некому было кейсы хоть как-то оформлять :) Сейчас вот у нас этим Настя будет заниматься :) (на самом деле не только этим). Так что в дальнейшем будет больше success stories и примеров реализации. Очень многое остается неосвещенным, хотя очень даже этого заслуживает.
Так что обязательно закиньте его в сборку)
Там много тонкостей. Я еще буду думать. Особенно когда присутствует и товар с остатками, и безлимитный товар.
У меня вопрос по поводу сущностей товара, я так понимаю все дополнительное описание вы заносили в ТВ параметры? Я лично отказался от этого, расширив класс ShopmodxProduct.
На сайте уже было ТВ-поле под остатки, и импорт на сайте настроен на работу с этим полем. Мы не стали менять никакие имеющиеся ТВ-параметры, даже цену оставили в TV-поле, а не в sm_price. Так что в большинстве случаев да, используются ТВ-параметры. Но можно и расширять имеющуюся таблицу. На этот счет у меня отдельные задумки есть.
Да много тонкостей, и их реализовать тоже нужно, надеюсь вскоре появится.
У меня вопрос по остаткам, есть класс продуктов и дополнительный класс назовем Import, в котором хранятся размеры товара с остатками. Возможно ли в одном запросе к базе данных выбрать и товар и размеры с остатками? То есть сделать некий многомерный массив.
array ('id' => 25, 'name' => 'Такой-то товар', 'param' => array( 'size' => 'xl', 'sklad' => 23) )
или перебором вытягивать дополнительные поля к каждому товару?
Можно, но готового решения не выкачу сейчас. Тут много тонкостей опять-таки, в том числе и с количеством результирующих строк.
Много комментов по данному магазину. Это хорошо.
Что касается магазина — мне Николай помог решить массу вопросов и по поводу корзины пользователей и вопрос с остатками на складе и еще многое другое. Некоторые «программисты» только могут говорить как и что нужно делать. Николай просто взял и помог.
Когда я магазин этот делал знаний было катастрофически мало. Но было желание. И очень жаль, что в тот момент не было такого классного инструмента, как ShopModx. Пришлось делать из того, что было.
Важно одно — сейчас магазин гораздо удобнее и правильнее работает.
Ну а то, что все только по поиску, это, как уже отмечалось выше, решение начальства. (У каждого своя паранойя).
А Николай огромное спасибо за отзывчивость и желание научить всех желающих эффективно и продуктивно работать
Александр, спасибо на добром слове! :)