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

Главные вкладки

Аватар пользователя Vanekru Vanekru 31 мая 2011 в 22:53

Хочу создать интернет магазин, ну не просто так магазинчик. А нормальный хороший магазин.
Очень нравится вот этот магазин http://magazin61.ru/

Трудностей и сложностей не вижу. Но вот у меня стоит один вопрос по реализации. Может кто посоветует что.
Суть вопроса.
У каждой категории товара очень много своих индивидуальных полей. Вот если открыть http://magazin61.ru/household/tvanddvd/tvled/ и нажать кнопку "расширенный фильтр" у фильтра, то будет видно все поля по которым можно делать поиск. и так можно тыкать каждую категорию все уникально и все свое вот допустим холодильники. http://magazin61.ru/household/kitchenappliances/41/

Теперь вопрос как это можно реализовать, и как будет правильно. Первый ответ и пока единственный в голове это создавать под каждый товар свой класс и свои поля. Но меня пугает что у меня будет 50-100 типов материала типа: ТВ, холодильники, блендеры, утюги....... под каждый материал свой ноде.тпл, и огромное количество вьювсов что бы создать столько фильтров. Да и мне кажется ну рухнет у меня это все от такого количество типов материала?

Помогите, может я вообще не туда смотрю Smile

П.С. спасибо.

Комментарии

Аватар пользователя Andruxa Andruxa 1 июня 2011 в 0:12

"Vanekru" wrote:
под каждый материал свой ноде.тпл, и огромное количество вьювсов что бы создать столько фильтров

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

попробуйте поэксперементировать:
- склонируйте product в какой-нибудь myproduct
- насоздавайте разным типам товара разных cck-полей, некоторые из которых пересекаются (потребляемая мощность, например)
- сгруппируйте эти поля

стандартный шаблон uc node-product.tpl.php будет рендерить ноды продуктов более-менее прилично, одним css можно неплохо причесать страницу

меня в этой ситуации угнетает несколько иное:
набор характеристик (полей) привязан к определенным типам товара (материала), которые, в свою очередь, привязываются к разным разделам каталога - очевидно, таксномией.
т.е. нода типа "mwave_oven" должна быть привязана к термину таксономии "Микроволновые печи", чтобы товар был в нужном разделе катклога с нужными полями-характеристиками

При создании/тестировании магазина с этим проблем возникать не должно, в реальном же магазине, с большим кол-вом товарных позиций контентом наверняка будет заниматься девачко с маникюром, что чревато несовпадением типа материала и его положением в каталоге.
100% в разделе "Утюги" будут товары с характеристикой "мощность всасывания" - от пылесосов.

Надо задумываться на предмет "защиты от дурака" при создании/правке товаров и устривать проверку на соответствие типов материала терминам таксономии из словаря "Каталог"

по представлениям - имхо, их кол-во можно тоже сократить, воспользовавшись стилем строк "Материал" и подшаманив шаблоны views-view-unformatted--имя_представлния.tpl.php и views-view-row-node--имя_представлния.tpl.php

Аватар пользователя Vanekru Vanekru 1 июня 2011 в 2:18

Ого... тут либо вы немного запутались в вопросе. Либо я пойму что я.....

Как мне привязать одно поле к разным типам?

Аватар пользователя Vanekru Vanekru 1 июня 2011 в 2:52

Мда.... спасибо большое. Век живи, век учись. Smile

Они получаются связанные? при изменение одного меняется другое?

Аватар пользователя Andruxa Andruxa 1 июня 2011 в 3:07

"Vanekru" wrote:
при изменение одного меняется другое?

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

Аватар пользователя Vanekru Vanekru 1 июня 2011 в 3:22

А как по вашему мнению. Что из себя будет представлять друпал с 10000 товаров 50 типов материалов ну и даже если по минимуму пытаться урезать набор полей для фильтра, на вскидку 300 различных полей для этих 50 материалов?

А у вас есть опыт работы с Битриксом? так как много подобных магазинов построены на нем. Я просто не думаю что у Битрикса будет стоять задача легче чем у Друпала создать 50 типов материала и 300 полей. Я ошибаюсь?

Аватар пользователя Vanekru Vanekru 1 июня 2011 в 3:34

Не понял... Как мне могут тут атрибуты вообще помочь? Атрибуты будут использоваться, но больше по своему назначению. Цвет и прочее...

Аватар пользователя Варяг Варяг 1 июня 2011 в 10:22

Можно попробовать модуль Conditional Fields. В данном случае думаю будет в самый раз - в зависимости от выбора, например, типа товара для редактирования откроются определённые поля.
Тип материала будет один - товар. А views или дисплеев views будет столько, сколько типов товаров.

Аватар пользователя Vanekru Vanekru 10 ноября 2015 в 11:47

"Варяг" wrote:
Можно попробовать модуль Conditional Fields

неее у меня есть один магазин на кондишен филд. больше не хочу... и уже пожалел что сделал не разными типа а кондишеном.

У меня получилась вот такая кака

она очень трудна в дальнейшем развитии, крыша едет, путаешься...

Аватар пользователя Vanekru Vanekru 3 июня 2011 в 23:43

А вот еще вопрос. Что страшнее большая таксономия или огромное количество полей?
Я смотрю базу сайта и понимаю что если отдать большую часть таксономии то таблица term_node сильно разрастется и выборки будут проблематичны. А вот у ССК таблицы более грамотно, и будет расти не размер одной таблицы, а количество таблиц в базе.

Я правильно думаю? Smile

Аватар пользователя Andruxa Andruxa 4 июня 2011 в 1:02

"Vanekru" wrote:
Что страшнее большая таксономия или огромное количество полей

Уже спрашивал

я в упор не вижу там 300 полей, с учетом того, что многие из них пересекутся так или иначе

Аватар пользователя Vanekru Vanekru 4 июня 2011 в 14:42

"Andruxa" wrote:
Уже спрашивал

У меня тут есть немного другой ответ

Quote:
Моё мнение по Вашему вопросу следующее,
CCK будет использовать накладнее т.к.
1) возрастает количество объединений таблиц (JOIN)
2) таблицы CCK больше по объёму, что затруднит объединение их

Taxonomy будет быстрее т.к. таблицы меньше, а индексы у таблиц продуманны лучше, что ускорит выборку из базы и уменьшит накладные расходы.

Andruxa что вы думаете о таком мнение?

"Andruxa" wrote:
я в упор не вижу там 300 полей, с учетом того, что многие из них пересекутся так или иначе

Мы насчитали порядка 280, это только на старте. Будут расти позиции будут расти поля. Там только у рубрики "Комплектующие для ПК" полей будет больше сотни.

Аватар пользователя Andruxa Andruxa 4 июня 2011 в 21:12

Имхо, так или иначе придется платить производительностью

Я склоняюсь к полям по причине того, что поле представляет собой пару заголовок-значение, причем значения могут быть разных типов
таксономия с этой точки зрения - это поле со значением bool (есть/нет), для характеристик товаров этого не всегда достаточно

Аватар пользователя Andruxa Andruxa 5 июня 2011 в 11:40

"Vanekru" wrote:
у рубрики "Комплектующие для ПК" полей будет больше сотни

специально залез на Я.Маркет и прайс.ру
у первого - 14 подкатегорий, у второго - 17, включая "Комплектующие для промышленных компьютеров"
т.е. вы предполагаете, что в каждой подкатегории (типе товара) у вас будет по 5-7 уникальных характеристик/полей?

я думаю, вы строите структуру каталога не в ту сторону, и вот почему:

задача всех этих полей - дать возможность пользователю легко подобрать товар по нескольким имеющимся у него в голове критериям
ключевое слово - легко
имхо, многие поля, которые вы собираетесь создать - с точки зрения пользователя лишние
их можно перенести в описание товара, как дополнительную информацию о товаре, уменьшив тем самым нагрузку на базу.

Аватар пользователя gumk gumk 5 июня 2011 в 12:52

имхо лучше сделать модуль типа table field, только с двумя колонками, и индивидуальными настройками полей по умолчанию для каждого типа, хранить инфу в серелизованном массиве
такая структура также даст возможность реализовать сравнение товаров, для полей по которым нужно фильтровать пользоваться таксономией