nekto 25 сентября 2014 0 9
Здравствуйте!
Можно ли создать проект с такой структурой грамотно, бьюсь несколько дней, но ничего толком не выходит.

Есть категории и в некоторых категориях могут быть еще подкатегории:
Категория 1
Подкатегория 1.1
Подкатегория 1.2
Категория 2
Подкатегория 2.1
Подкатегория 2.2
Категория 3

Есть товары, они находятся в конечной подкатегории или категории. У одного товара может быть одна категория.

Есть авторы товаров. У автора может быть много товаров в разных категориях.

И есть два типа товара (скажем так). Один товар доставляется только по стране, другой же товар - только самовывоз.

Один автор может делать товар как первого типа, так и второго. Тоже самое категория - может иметь как первый тип, так и второй.

Есть две страницы "по стране" и "самовывоз".
На них будут показаны категории и авторы, относящиеся к этому типу. И если я захожу в "по стране" -> категории -> подкатегории. Показывались только подкатегории относящиеся к данному типу.

Проблема в том, что при создании данной структуры приходится дублировать категории и авторов. Есть более разумное решение данной проблемы? Подскажите пожалуйста. Или может быть легче на framework-ке реализовать это, чем ковырять modx?

9 комментариев
Fi1osof1
Fi1osof 25 сентября 2014г в 16:53 #
Подскажите пожалуйста. Или может быть легче на framework-ке реализовать это, чем ковырять modx?

Вообще-то, MODX - это фреймворк, если вы не в курсе. После этой фразы сразу захотелось отправить вас пытаться это реализовывать на каком-нибудь "framework-ке"... Проблема не в MODX-е (да-да, не про ShopModxBox надо спрашивать, а про MODX), а в том, что вы не можете просто продумать структуру так, чтобы правильно сущности и их связи организовать. Автор - он всегда один. Их дублировать никак нельзя. Если документы-товары и документы-категории создаются этими конечными авторами, то можно вообще оттолкнуться от колонки создателя документа. А типы доставки заводятся TV-полями и значение выбирается из списка. Потом простой поиск по TV и автору.
n
nekto 25 сентября 2014г в 17:47 #
Одна категория может принадлежать нескольким авторам.
Дело в том, что структура должна быть:
"по стране" -> категории -> подкатегории->категория1->товары
"самовывоз" -> категории -> подкатегории->категория1->товары
"самовывоз" -> категории -> подкатегории->категория2->товары

"по стране" -> авторы-> автор1->товар2
"самовывоз" -> авторы-> автор1->товар1

И если например в joomla-ле меню создается отдельно от документов, то в modx нет.
Можно сделать tv, но структура будет уже не та.
Между авторами и типом связь many_many
И между категориями и типом связь many_many
Как быть?
Fi1osof1
Fi1osof 25 сентября 2014г в 18:02 #
И если например в joomla-ле меню создается отдельно от документов, то в modx нет.

Джумла теперь фрейм? Это так, к слову...
Здесь надо динамические меню делать. Подробного рецепта не дам, так как вы замахнулись на слишком объемную задачу, и или вам самостоятельно долго и упорно это делать, или искать специалиста для помощи за денежку.
А реализовать можно. Элементарно, гляньте http://unichoc.ru/, там товар по многим категориям найти можно.
n
nekto 25 сентября 2014г в 18:21 #
К сожалению за помощью сейчас у меня нету возможности обратиться, т.к. это займет явно не один час.
Долго и упорно я люблю ковыряться, но в данном случае я даже не знаю в какую сторону ковырять. Да и время не так много тоже. Поэтому остается одно - сделать на это другом движке, не в обиду...
Fi1osof1
Fi1osof 25 сентября 2014г в 18:32 #
Мне обижаться совершенно не на что. Каждый выбирает то, что ему удобней. У меня нет цели всех посадить на MODX. Так что могу только пожелать удачи!
n
nekto 25 сентября 2014г в 18:07 #
http://framework.joomla.org/ :-)

Но я имел в виду саму систему.

Пожалуйста, дайте хоть зацепку, может быть я сам справлюсь!
Fi1osof1
Fi1osof 25 сентября 2014г в 18:30 #
http://framework.joomla.org/ :-)
Видимо в какой-то момент они сделали серьезный шаг вперед, но я это пропустил...
Недавно я переносил сайт с Джумла. Бешеная система менюшек формирует различные УРЛы на один и тот же документ, в зависимости от того, где и какая менюшка вызывается. Конечно, это может косяк разработчика, который тот сайт делал, но все же...
Пожалуйста, дайте хоть зацепку, может быть я сам справлюсь!

Многое зависит от того, сколько этих пользователей-авторов будет. Если в пределах нескольких сотен, то еще нормально. Если тысячи, то уже сложнее гораздо. В любом случае, надо ставить MigxDB, создавать таблицу для связки Документ-автор, и туда уже фигачить эти связки через TV-поле. Почему нельзя использовать базовый TV-мультивыбор? Потому что тогда авторы будут храниться на каждый документ по одной только строчке в JSON-строке или с разделителями ||, что значительно усложнит выборки таких документов с учетом автора.
С типом доставки, как я и говорил выше, все проще - простой выпадающий список в TV спасает.
А далее формируете менюшки динамически. Как именно (структурно), это уже вам решать. В любом случае, сначала надо реализовать одноуровневые выборки товаров/категорий с учетом автора и типа доставки. Вот этот топик в помощь. То есть на конечном каталоге в простейшем варианте это будет адрес с GET-параметрами, типа catalog/?chocotype=247&product_type=188. Но если нужно именно ЧПУ реализовать, тогда свйо плагин-роутер надо писать. К примеру на этом сайте используется такой роутер, без этого просто никак (или много лишних документов пришлось бы плодить). К примеру, http://modxclub.ru/profile/nekto - такого документа фактически нет в site_content, но как видите, страница открывается. В помощь этот топик будет.
n
nekto 25 сентября 2014г в 19:28 #
Спасибо, буду копать...
Fi1osof1
Fi1osof 25 сентября 2014г в 19:33 #
Пожалуйста
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.