Модель данных для небольшой системы CMS - PullRequest
2 голосов
/ 21 января 2010

Я всегда хотел сделать небольшую простую в использовании систему CMS только для личного использования и обучения.

Первое, что я собираюсь сделать, это создать модель данных. Так что мне нужно для начала?

Я хотел бы динамически создавать страницы, тогда мне нужна таблица страниц. Я знаю, что многие системы CMS относятся к ним как к узлам, поэтому я назову это Nodes.

Я также хотел бы присоединить узлы к одному или нескольким меню, поэтому я создаю таблицу Menus. Чтобы заставить эти два работать вместе, мне нужна таблица MenuNodes для обработки взаимосвязи между этими двумя и чтобы убедиться, что один узел может существовать в одном или нескольких меню.

Существует несколько моделей данных, один из примеров того, как создается Joomla:
Модель данных Joomla

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

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

У кого-нибудь есть идеи или ссылки на хорошие модели данных CMS, которые могут помочь мне начать?

1 Ответ

1 голос
/ 21 января 2010

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

Для CMS, которую я сделал, у меня просто были страницы, шаблоны страниц, истории и свойства (фактически компоненты истории / страницы). Но навигация не имела большого значения в моей системе, скорее обновление статических страниц было более важным.

Я наказал за навигацию, потому что у сайтов были очень статичные навигационные требования, которые просто не стоили абстрагироваться.

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

...