Подход к структуре сайта

KolyaA

Новичок
Хочу попробовать загнать всю иерархию сайта в одно место. Грубо говоря, сделать чтобы все сведения о строениии сайта хранились в одной таблице и только в ней. Допустим эта таблица будет называться stroenie.

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

Зачем так делать? Для построения навигации удобно загнать всю структуру сайта в одно место. После того, как это будет сделано, другие иерархические построения становятся лишь частично повторяющими основное.

Как вы думаете полезен ли, жизнеспособен ли такой подход?
 

shelestov

я тут часто
Это что то вроде реализации нодов drupal.
Вы пытаетесь создать таблицу с нодами и к ним прикреплять разного рода контент (разделы, товары, статьи и т.д.).
Возможно когда нужна универсальность данный подход имеет право на жизнь.
 

tz-lom

Продвинутый новичок
KolyaA
на реляционных БД - совершенно нежизнеспособен
в чём нибудь типа mongo можете попробовать,но упрётесь или в скорость работы или в количество дополнительных кешей,а так же в сложность содержать эти кеши в актуальном состоянии

так же у данной схемы есть серьёзный изъян - привязка к "строению сайта" вещей которые к нему не относятся,типа тех же катологов
т.к. в принципе товару "пила" важно что он в категории "инструменты" а не в том что он /store/instruments/saw
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Идея бред. Сущности надо разделять.
 

KolyaA

Новичок
tz-lom

А как правильней? Как построить структуру сайта для навигации, для хлебных крошек например?

Собирать её по кускам. Взять из отдельной таблицы общую структуру сайта: "О компании", "Новости", "Каталог", "Контакты" и так далее. Потом встроить туда данные, взятые из таблицы каталога, таблицы новостей и т.п.

Так лучше будет? Или как?
 

Духовность™

Продвинутый новичок
PHP:
stroenie
ещё раз напишешь латиницей русское слово - я тебя найду по IP и зарэжу. Тебе уже 20 раз сказали - учи английский через употребление английских слов в твоих программах. Невероятно бесит такая безграмотность.

Как вы думаете полезен ли, жизнеспособен ли такой подход?
имхо, очень трудно реализовать такую систему с первого раза.
 

craz

Нестандартное звание
PHP:
stroenie
ещё раз напишешь латиницей русское слово - я тебя найду по IP и зарэжу. Тебе уже 20 раз сказали - учи английский через употребление английских слов в твоих программах. Невероятно бесит такая безграмотность.

имхо, очень трудно реализовать такую систему с первого раза.
зарэж его по IP от меня тоже)!

эх вы по топику отвечу: базу надо строить на объектах... профита там будет хоть залейся...
 

craz

Нестандартное звание
Можешь хотя бы немного уточнить, как это?
Именно касательно построения структуры сайта для навигации?
есть список объектов типа там
таблица объекты
______________
страница
новость
фотогалерея

********************
таблица страница
_______________
id pid name_page addon etc fields
1 0 index фотогалерея ....
2 1 another page новости, фотогалерея
********************
чето типа
 

KolyaA

Новичок
craz

Не до конца понял.

Я вижу есть иерархия страниц. Для страницы указывается addon. Насколько я понял, это тот объект который будет на странице.

То есть иерархия будет только у объектов вида "страница"?

Правильно я понимаю?
 

craz

Нестандартное звание
нет
почему же? так же выглядит таблица новостей, и любой другой сущности

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

grigori

( ͡° ͜ʖ ͡°)
Команда форума
о, еще одна светлая идея объединить сущности, а потом героически решать проблемы, честно веря, что эти усилия - инвестиции.

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

craz

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

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

tz-lom

Продвинутый новичок
KolyaA
у меня есть единое место которое знает о всех схемах URL на проекте,я к нему обращаюсь когда нужно получить URL и его же использую для роутинга запросов
но это лично моё решение
частый подход это когда делается единая для всего схема хранения в URL параметров (т.е. типа /controller/shop/product/42/display/onePerRow)
и есть некий модуль который:
1- преобразует схему в ЧПУ самостоятельно
2- преобразует URL в схему (т.е. делает преобразование обратное первому)
так делают жомла,друпал и ко
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
craz, это я отписал по теме топика
да, и я не отношусь негативно к тебе, пиши в личку если хочешь поговорить о личном
 
Сверху