Интернет-магазин

Создание интернет-магазина на второй ветке.

#1 20 июня 2016 в 18:26
Версия 2.5.1. Требуется создать интернет-магазин: 1 продавец, несколько поставщиков, возможность загрузки каталога продукции, оплата на сайте.
+ фишки:
1. Допустим загрузили каталог автоматом или добавили позиции товара вручную, но на сайте отображается не цена из каталога, а цена согласно правила: «Цена по каталогу — Индивидуальная скидка для продавца от поставщика в % от каталожной + Наценка продавца в % от каталожной», причём для каждого поставщика правила разные, но товары разных поставщиков могут находиться в одной категории.
2. Некоторые из каталогов будут иметь цены в € и цены сначала автоматически пересчитываются исходя из курса Центробанка на текущий день (раз в день парсинг курса евро с сайта ЦБ) и далее действует правило, как в п.1. Хотя на мой взгляд парсинг с постоянным пересчётом это лишнее, но это не моё желание.
#2 22 июня 2016 в 01:17
1.Если рассуждать логически, то получается, что на сегодняшний момент для второй версии магазин можно создать только с применением компонента «Store Wallet».
Далее буду рассуждать от обратного.
2. Для функционирования магазина даже в том виде, как записано в моём первом посте данной темы (при первом приближении) — возможность приобретения товара имеется.
3. Для вывода контента стандартных средств достаточно, только добавить в шаблоне вывода различные варианты: список, плитка ...
Ниже мысли, как реализовать остальное.
4. Цена согласно правила: «Цена по каталогу — Индивидуальная скидка для продавца от поставщика в % от каталожной + Наценка продавца в % от каталожной» выводится из системного поля, которое формируется автоматически (нужен будет новый тип поля, в данном случае это скажем «Цена согласно правила», которое можно настраивать из админки: Поставщик/Правила или создать новый тип контента, например «Справочник», в котором прописывать Поставщиков и Правила и вычислять значение поля «Цена согласно правила» выбирая необходимые значения из таблицы БД).
5. Нужно создать компонент, который будет импортировать данные из прайс-листа. Насколько я понимаю (хотя и не обязательно), то у разных поставщиков будут в одних и тех же ячейках находиться разные типы данных и, соответственно, для правильного сопоставления и записи в нужную ячейку эти сопоставления для разных поставщиков будут настраиваемыми.

В целом я представляю следующее функционирование:
Создаём тип контента «Справочник» в него добавляем Поставщиков для каждого из которых прописываем сопоставление данных по полям, наборы правил Ц И Н.
Создаём тип контента с категориями и подкатегориями.
Настраиваем новый тип поля «Цена согласно правила» (выбирая данные из полей «Справочника», а если цена в валюте, допустим ставим флаг "в валюте" и становятся активными три поля, например внутренний курс — заполняем из админки или внешний — тогда обновляем с сайта ЦБ (с настройкой периодичности обновления по крону) и название валюты $, € ). Напротив каждого правила значок "обновить" — нажимаем его и значение цены для данного правила обновляются. Предусмотреть также возможность замены правила (фильтрами производим необходимую выборку и для выбранных элементов меняем правило).
Далее настраиваем компонент импорта: Поставщик/Сопоставления. Выбираем нужный файл, выбираем Поставщика и для него Сопоставления и импортируем (пока не представляю как производить обновление каталога, если не просто добавлять новые позиции а обновлять целиком, т.е. если производить выборку из нескольких сотен позиций, то какие должны быть системные требования и что делать с отсутствующими в новом каталоге позициями — тогда наверное нужно будет ещё предусмотреть и вывод сообщения с предложением дальнейших действий?).
Можно также добавлять позиции вручную и сделать возможным пересчёт цены для отдельной позиции в режиме редактирования, а не из админки.
И после заполнения уже непосредственное: Напротив каждого правила значок "обновить" — нажимаем его и значение цены для данного правила обновляются.

Ну и "прикрутить" возможность сравнения нескольких позиций.

Вроде всё.
P.S.: приношу свои извинения за столь пространную и местами сумбурную запись. Я постарался изложить более глубоко свои мысли для создания диалога, выявления действительно возможной реализации и собственно реализации.
#3 22 июня 2016 в 12:56
Это вы на Store Wallet все хотите сделать? Или все таки отдельно.
#4 22 июня 2016 в 13:53
тоже интересно. только на скрипте без куба
#5 22 июня 2016 в 16:11


Это вы на Store Wallet все хотите сделать? Или все таки отдельно.

Cтудия Sitestroi
Думаю, что практичней будет отдельно.
#6 27 июня 2016 в 22:02
По поводу карточки поставщика
Я сделал на базе поля "Список количества" http://joxi.ru/RmzvaBLFWgaMBm
Единственное, что вызывает вопрос: данные в БД хранятся в виде строки (через регулярные выражения данные конечно можно извлечь), но может кто подскажет, как реализовать на основе связанных таблиц, чтобы просто брать значения из ячеек таблицы?
#7 27 июня 2016 в 22:56

но может кто подскажет, как реализовать на основе связанных таблиц, чтобы просто брать значения из ячеек таблицы?

DELLитант
Судя по тому как я понял вашу задумку, я бы сделал на основе конструктора форм версии не ниже 3.3.0. Поставил бы нужную форму из конструктора, похожую на набор полей — "Список количества" в форму создания карточки поставщика. Написал бы хук, который при сохранении карточки разнёс бы эти данные по нужным ячейкам таблиц БД. А затем брал бы их из этих ячеек когда надо.

Далее настраиваем компонент импорта:

DELLитант
Импорт из файла примерно так может выглядеть ваш компонент. Единственное в этой версии, загружать файл может только админ, но есть настройки для сохранения настроек и история по каждой выгрузке.

пока не представляю как производить обновление каталога, если не просто добавлять новые позиции а обновлять целиком

DELLитант
Можно создать поле, которое будет иметь уникальные значения для одного поставщика и желательно для всех поставщиков. Например артикул. (В принципе в еxcel не долго сцепить два поля: id поставщика и его уникальные поля и получим уникальное поле для всех.)

что делать с отсутствующими в новом каталоге позициями

DELLитант
По этому полю при импорте проверять, если нет такого товара, то соответственно создать, а если есть то либо пройти мимо, либо обновить данные. С категориями (каталогами), смотреть по названию и если нет то добавлять.

если производить выборку из нескольких сотен позиций, то какие должны быть системные требования

DELLитант
Системные требования не большие. На обычном хостинге 25 кило записей без картинок создаются за 10 минут, с картинками чуть дольше.

наверное нужно будет ещё предусмотреть и вывод сообщения с предложением дальнейших действий?

DELLитант
Не стоит озадачивать и без того загруженного админа навязчивыми вопросами. smile
Так что работы вам предстоит много, интересной, и сложной. Удачи. А мне ещё надо из конструктора форм доделать "конструктор полей".
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.