Я работаю над личным проектом CMS довольно долгое время, потому что я устал создавать новые слои базы данных и компоненты с нуля для каждого проекта. Поэтому я решил запустить небольшой CMS в Zend Framework.
Теперь я подошел к точке, где я должен позволить пользователям (будущим клиентам) управлять сайтом, создавая их menus
, routes
и т. Д., И указывать на реальную страницу, хранящуюся в базе данных.
У меня есть несколько модулей, таких как статьи, контент, галерея и т. Д. В моем проекте я сделал разделение между статьей и страницей. Думаю, для статьи это довольно просто. Для страницы это может быть сложно.
Таким образом, страница сохраняется в таблице (с тегами html) и внедряется в представление. Так как есть задействованные маршруты, я начал путаться о том, как связать меню, созданные с помощью Zend_Navigation
, и фактическую страницу в базе данных. например меню вроде:
about us products contact us
the team productname 1 local
mission statement productname 2 international
с разными маршрутами, такими как
/about-us /products/list /contact-us
/about-us/team /products/productname1 /contact-us/local
/about-us/mission /products/productname2 /contact-us/international
Имея в виду, что все страницы взяты из одной таблицы и отображаются в одном представлении PageController?
где конкретные вопросы:
Вопрос 1 Может ли этот подход работать вообще?
Вопрос 1.1 Если нет, то какой дизайн лучше?
Вопрос 2 , где сохраняется Zend_Navigation? поскольку у пользователей должен быть интерфейс для изменения маршрутов и меню.
Вопрос 2.1 Можно ли использовать Zend_Config_Xml_Writer?
Вопрос 2.2 Если да, то это лучшая практика?