Форум → Программирование → PHP для идиотов → Проектирование интернет магазина.
Проектирование интернет магазина.
Страницы: ← Следующая страница →
-
Пишу сейчас интернет магазин, хочется сделать его как можно более универсальным.
Возникла дилемма с характеристиками товаров.
Магазин будет продавать различные товары, с разными характеристиками. Характеристик очень много.
Естественно писать забивать вручную характеристики для каждого товара долго.
По этому я решил сделать шаблоны товаров.
То есть, создаем шаблон характеристик например "Компьютер"
Туда добавляем категории характеристик:
1) Процессор
2) Память
3) Экран
Потом в каждую категорию добавляем характеристику. Получается так:
Процессор
Тип процессора
Код процессора
Количество ядер процессора
Память
Размер оперативной памяти
Тип памяти
Экран
Размер экрана
Разрешение экрана
Теперь при создании товара, мы указываем к какому типу товара он принадлежит, и у него сразу появляются все поля для заполнения характеристик.
Ну это все понятно. Теперь вопрос как это все программно организовать?
Шаблоны я организовал так:
Есть 5 таблиц:
1) Шаблоны (список всех возможных шаблонов)
2) Характеристики (список вообще всех характеристик)
3) Категории характеристик (тоже все возможные)
4) Связь категорий характеристик с шаблонами
5) Связь связи категорий характеристик с шаблонами с характеристиками.
См. схему в приложении.
То есть таким образом зная шаблон, мы 1 запросом достаем все категории характеристик принадлежащие ему, JOIN ом подтягивая названия этих категорий.
JOIN ом подтягиваем все характеристики под каждую категорию и так же JOIN ом подтягиваем названия этих характеристик. Не слишком много джоинов?
Такую же схему хочу сделать и с товарами. Здесь вместо шаблона "Компьютер" будет товар.
Какую гибкость это нам дает. Во первых мы не дублируем названия категорий и характеристик, и везде они называются одинаково и с одними и теми же размерностями.Во вторых, поправив название только в одном месте оно поправится везде.
В третьих если нужно организовать поик по характеристикам или сравнить товар по характеристикам, то мы точно можем определить что и с чем сравнивать.
Вопрос, на сколько адекватная схема? Как делается в других системах, и как бы сделали лично вы? -
19 сентября 2011 г. 2:36, спустя 35 минут 11 секунд
К.О.: глянь мадженту. А есть смысл писать свой магаз вообще? Это ж столько возни с payment/shipping шлюзами -
19 сентября 2011 г. 2:49, спустя 12 минут 48 секунд
Так как я не знаю ни одной CMS на должном уровне, то мне легче написать свою чем разбираться и потом понять что система мне не подходит. У меня не будет онлайн оплат, зато у меня куча нетривиальных задач, типа синхронизации товаров из своеобразных CVS файлов поставщиков.
Ну и самое главное, это опыт =) -
19 сентября 2011 г. 3:41, спустя 52 минуты 49 секунд
Так как я не знаю ни одной CMS на должном уровне
))
magento, не?)Сапожник без сапог -
19 сентября 2011 г. 5:03, спустя 1 час 21 минуту 8 секунд
да уверен, что "Магенто - ДА!", но реально профессор ведь хочет опыт получить.
Правда все равно раз уж так сильно захотелось писать своё, то нафига совокуплять свой же моск надуманной универсальностью?!
Таких "универсальных" уже горы, и если они реально функциональны и более-менее безглючны, то монструозны и требовательны к ресурсам (взять ту же Магенто).
Да и не закончишь сам ты её никогда.
Проще писать менее универсальную, зато более быстро и с меньшим геморроем. А для второго (пятого-десятого) магазина с несколько иным, но "персональным" функционалом ты без проблем сможешь быстро допилить уже имеющийся у тебя движек, ибо ты будешь его знать как 2х2=3,745кг/ам
Ну а по твоей схеме, то хз. Если тебе так будет удобно делать выборку, то почему бы и нет. Один хрен как именно ты все разместишь в базе, главное чтоб выборка была быстрой и логичной. А размер базы и её визуальное оформление по большой мере роли много не играет. К примеру, можно обе таблицы связи объединить в одну, просто добавив некий флаг, указывающий либо на то, что это категория, либо же указывающая на ID "родительской" категории. Получится меньше таблиц, но в то же время больше будет геморроя при выборке. -
19 сентября 2011 г. 10:38, спустя 5 часов 35 минут 41 секунду
Тебе нужен TWIG, там как раз принцип наследования идет -
11 октября 2011 г. 4:07, спустя 21 день 17 часов 29 минут
так а нахуя шаблоны в БД писать? формируй по запросу пользователя статические страницы, потом проверяешь и даёшь добро или обьясняешь что не подходит -
20 октября 2011 г. 9:00, спустя 9 дней 4 часа 52 минуты
Пишу сейчас интернет магазин, хочется сделать его как можно более универсальным
я думаю что магазин должен в первую очередь продавать товары.
он может быть охуенно выебнутым с точки зрения архитектуры и кода, но если он не продаёт - нахер он нужен?
что нужно чтоб продать товар?
1. наличие страницы товара в ПС на нормальной позиции (первая страница)
2. удобство и наглядность представления товара на странице
3. лёгкость заказа
4. обратная связь с покупателем в режиме диалогаТо есть, создаем шаблон характеристик например "Компьютер"
Туда добавляем категории характеристик:
1) Процессор
2) Память
3) Экран
хуярь всю инфу в одно текстовое полеСпустя 162 сек.Весь цимес современного рынка интернет-магазинов, что вот привезли товар и его надо продавать. То есть два-три дня на его выкладывание, не больше. И тут выясняется, что таблицы не запилены и джойны не проставлены, и вообще архитектура ебанутая, и дошли до такого момента что всё слишком сложно и становится раком.
В общем, перфекционизм - зло.не всё полезно, что в swap полезло -
13 августа 2012 г. 1:52, спустя 297 дней 16 часов 51 минуту
Пишу сейчас интернет магазин, хочется сделать его как можно более универсальным
я думаю что магазин должен в первую очередь продавать товары.
он может быть охуенно выебнутым с точки зрения архитектуры и кода, но если он не продаёт - нахер он нужен?
что нужно чтоб продать товар?
1. наличие страницы товара в ПС на нормальной позиции (первая страница)
2. удобство и наглядность представления товара на странице
3. лёгкость заказа
4. обратная связь с покупателем в режиме диалогаТо есть, создаем шаблон характеристик например "Компьютер"
Туда добавляем категории характеристик:
1) Процессор
2) Память
3) Экран
хуярь всю инфу в одно текстовое полеСпустя 162 сек.Весь цимес современного рынка интернет-магазинов, что вот привезли товар и его надо продавать. То есть два-три дня на его выкладывание, не больше. И тут выясняется, что таблицы не запилены и джойны не проставлены, и вообще архитектура ебанутая, и дошли до такого момента что всё слишком сложно и становится раком.
В общем, перфекционизм - зло.
Если не дать возможности покупателю самостоятельно находить по ключевым параметрам товар, отсеивая ненужные, то либо он забьет и пойдет к конкрентам либо в усмерть задолбает менеджера по телефону или в чате (ака онлайн консультант). Знакомый работает в компьютерных технологиях - так на него жалко смотреть под вечер после 2-3 десятков клиентов которые пришли чего-то купить нового и нужного но без понятия что и какое им нужно… Так что ЦМС может сколь угодно быстро давать возможность выкладывать товар (и приумножать его количество) но без удобства использования - поиска он не нужен. Тем более что движок действительно не обязательно должен принимать принимать платежи\печатать накладную - это всего лишь фичи, главное что требуется от интернет магазина это удобно представить информацию о товарах и оперативно дать ответ на возникнувший вопрос (без похода в гугл\яндекс). А заказ можно оформить и по телефону или просто кнопкой с перенаправлением на форму заказа с последующим ожиданием звоночка от менеджера (главное чтобы последний не оказался алконавтом\соней который реагирует несколько часов)… -
-
21 августа 2012 г. 0:45, спустя 5 дней 20 часов 36 минут
Это тема как спроектировать интернет-магазин…кстати на счет звоночков менеджеру можно ж использовать онлайн-консультант как Живосайт…типа…зашел на сайт..появилось окошко…где пользователь может спросить что-либо-нибудь!затягивает некоторых это..но я это так..к слову;) -
21 августа 2012 г. 1:55, спустя 1 час 9 минут 26 секунд
…
…
…
..
…
..
..
Высокоуровневое абстрактное говно -
18 сентября 2012 г. 8:25, спустя 28 дней 6 часов 30 минут
Походу буду археологом, но мб автор еще увидит топик
Если ты не думаешь писать сортировки и поиск по характеристикам и думаешь реализовать все как можно быстрее и проще
Как уже писал master, храни все в TEXT, к слову, посмотри магазин Арт.Лебедева - там примерно так и реализовали, кстате ЧПУ удобный у него -
-
18 сентября 2012 г. 9:02, спустя 33 минуты 59 секунд
Если ты не думаешь писать сортировки и поиск по характеристикам
сегодня не думаешь а завтра как подумаешь и пиздец
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!