Сложная структура сайта, CMS

Spear

почемучка
Сложная структура сайта, CMS

Добрый день,
сейчас я работаю над созданием движка для крупного портала (не развлекательный и не порно ресурс :)).
Точнее "работаю над созданием" - сказано не совсем верно. Точнее было бы сказать что сейчас я пытаюсь продумать структуру, по поводу чего, собственно, и хотел бы посоветоваться.
Вот что мне нужно, чтобы движок умел (я буду благодарен за советы по организации структуры, или общие советы о том, что и как лучше делать, т.к. у меня опыта по таким крупным проектам ещё не было):

1. Сайт о софте. Соответсвенно будет база данных по различному софту - название, цена, разработчкик, тип распространения и т.д.. Это сделать протсо.
Но проблема вот в чем - каждый софт предназначен для определенной системы (или платформы - не нзаю как точно назвать. Я только движок делаю, контентом не занимаюсь).
так вот, например будут основные 4 платформы - например обычные (вот, незаю как назвать :)), Mac, и КПК (камранные компьютеры). Их будет, впринципе, немного больше - просто я в этом не очень хорошо разбираюсь.
Но дело в том, что весь контект сайта должен условно делиться на эти "платформы" (не путайте с категориями, к которым относится сам софт). Опять же - сдлеать это н епроблема (добавить ещё одно поле в каждую таблицу в БД которая отвечает за контент).
Вопрос вот в чем - как мне лучше хранить сами сведения о том, какие платформы есть? Предполагаю такую таблицу:
номер_платформы / буквенный_идентификатор / короткое имя / в меню (да\нет)

В меню - означает, стоит ли указывать ссылку на подраздел платформы в меню. То есть6
будет меню с перечислением платформ (например, основные 3-4) и будет ещё штук 5 - дополнительные, например, - мало известные или что-то такое. Вообщем их список будет виден по ссылке "все платформы".

Вопросец - как думаете, правильно ли этот момент продуман? Какие могут быть советы?.

2. Второй вопрос гораздо сложнее, т.к. я пока что не могу придумать ему решение:
Должен быть модуль, в которому можно бдет публиковать сложные по структуре статьи. То есть - в этом модуле будут основные категории, например "Советы специалистов", "анатилика рынка (it)"
допустим и так далее - какие будут категории конкретно я не знаю, т.к., повторюсь, - я не буду заниматься контекнтом. Точнее буду добавлять его на первых порах, но толкьо то, что мне дадут, т..е сам ничего не пишу.

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

Сложность вот:
нужно сдлеать сложный скрипт паблишинга статей в этот раздел, который позволит:
1. изменять дизайн каждого раздела (не считая хедера и футера самого сайта - они стандартные везде). Дизайн удет отличаться не только разными фонами табличек :) Нужно дать возможность изменить все - от разметки до используемой графики.

2. Создавать статьи с неограниченным кол-вом страниц. тут вопрос в том - как вообще сделать "разделение" статьи на страницу? Как это будет выглядеть с техн. точки зрения? Как это обычно делают?

Вот пример движка, у которого очень схожая структура с тем, что я попробую сделать:
модуль, с разным дизайном разделов:
http://www.gamespot.com/features/index.html
сами разделы:
http://www.gamespot.com/features.html?type=features&category=Freeplay

Во самое сложное - как сделать возможность создания таких рзаделов (они идут как статьи в разделе):
http://www.gamespot.com/features/x360newsreports/index.html
http://www.gamespot.com/features/nintendo1105/index.html

То есть у каждой статьи свой дизайн, а по первой ссылке похоже ещё и используется свой РНР код, так как там есть списко материалов (который наверняка генерируется а не является статикой)

Я буду благодарен за все советы, которые помогут мне разобраться - ка же релазиовать подобную систему.
с Уважением, Spear.

-~{}~ 23.11.05 20:54:

не побоюсь этого слова, ап :)
 

Popoff

popoff.donetsk.ua
admin
Автор оригинала: Spear
ка же релазиовать подобную систему.
если честно, сложно представить себе более-менее обстоятельный ответ на этот вопрос, представленный не в виде конкретной реализации.. :)
 

HEm

Сетевой бобер
вопрос 1 - какие данные о платформе хранить - вопрос не принципиальный и ответить на него может только разработчик ТЗ
тут можно от 1 до 20 полей придумать, причем большинство полей никого волновать не будут
насчет флага "показывать в меню" - нафиг он нужен? или ты показываешь все платформы в меню или не показываешь вообще
вопрос 2.1 - используй BB-код, сделай аплоад картинок для авторов и возможность вставлять свои картинки в свои статьи (т.е. информация о закачанных картинках должна быть в отдельной таблице и должна быть связана с автором). Второй вариант - разреши HTML в статье и наделай кучу регэкспов для вырезания потенциально опасных тегов и конструкций (гимор еще тот, но если получится - себя оправдывает, мне в ЖЖ это очень нравится)
2.2. - сделай простой тег типа [newpage no=NNN] и дели такими тегами статью на нужнок количество страниц

насчет вставки своего кода PHP - это очень смелое разрешение, немногие на такое решатся
 
Сверху