Преобразование устаревшей CMS в систему MVC

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

Вот ограничения, которые я имею при попытке реализовать это... Страница может иметь элементы, добавленные к ним на локальной основе. Таким образом, если мы создаем страницу 1 с использованием шаблона A, она наследует все элементы шаблона A со всеми конфигурациями шаблона. Но на странице 1, после того, как он был создан, я мог вручную добавить элемент к этой странице напрямую (с графическим интерфейсом CMS), который будет находиться только на этой странице. На мой взгляд, если я попытаюсь реализовать MVC-фреймворк для нашей CMS, тогда ЛЮБОЕ время мы хотим добавить локальный элемент на страницу, что будет означать необходимость в новом "типе страницы". Элемент либо настроен как "локальные данные" и привязан к странице по идентификатору страницы, либо настроен как "глобальные данные", которые отображают результаты запроса и не обязательно привязаны только к той странице, на которой элемент в настоящее время включен (может использоваться несколькими страницами).

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

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

Мысли? Любой совет или помощь очень ценится.

1 ответ

Зачем создавать новое приложение с нуля, когда существует так много современных CMS-программ, которые либо выполняют то, что вы хотите, имеют возможность добавлять нужные функции с помощью пользовательского программирования (обычно это система плагинов)?

Современная CMS на основе MVC, работающая на ColdFusion:

Конечно, Wordpress может также делать то, что вы хотите, если вы больше не хотите использовать ColdFusion, но я бы посоветовал провести некоторое исследование этих приложений, прежде чем потратить одну минуту, пытаясь изобрести велосипед.

Другие вопросы по тегам