Php Zend框架:如何允许cms用户创建菜单并从管理面板链接到适当的页面?
我在一个个人cms项目上工作了相当长的时间,原因是我厌倦了为每个项目从头开始创建新的db层和组件。所以我决定在zend框架中启动一个小型cms 现在,我应该让用户(未来的客户机)能够管理网站,创建他们的Php Zend框架:如何允许cms用户创建菜单并从管理面板链接到适当的页面?,php,zend-framework,menu,content-management-system,zend-navigation,Php,Zend Framework,Menu,Content Management System,Zend Navigation,我在一个个人cms项目上工作了相当长的时间,原因是我厌倦了为每个项目从头开始创建新的db层和组件。所以我决定在zend框架中启动一个小型cms 现在,我应该让用户(未来的客户机)能够管理网站,创建他们的菜单,路由等,并将其指向数据库中存储的真实页面 我有两个模块,如文章、内容、图库等。在我的项目中,我将文章和页面分开。对于文章,我认为它非常直接。对于页面,它可能很棘手 因此,一个页面被保存在一个表中(带有html标记),并被注入到一个视图中。由于有涉及的路由,我开始对如何链接使用Zend_导航创
菜单
,路由
等,并将其指向数据库中存储的真实页面
我有两个模块,如文章、内容、图库等。在我的项目中,我将文章和页面分开。对于文章,我认为它非常直接。对于页面,它可能很棘手
因此,一个页面被保存在一个表中(带有html标记),并被注入到一个视图中。由于有涉及的路由,我开始对如何链接使用Zend_导航创建的菜单和数据库中的实际页面感到困惑。例如,菜单如下:
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如果不是,还有什么更好的设计
问题2Zend_导航保存在哪里?因为应该有一个界面供用户修改路线和菜单。
问题2.1可以使用Zend\u Config\u Xml\u Writer吗?
问题2.2如果是,这是最佳做法吗 根据我的经验,对于最终用户来说,将导航和页面/文章等分离通常要简单得多,以便理解和管理
虽然您可以构建一个更复杂的系统,与zend_导航接口,保存到配置文件等,但当您可以在单独的表中对导航进行建模时,这将增加一层可能不需要的复杂性,即树模式,每项一行-设置文本、标题、路线、目标窗口等
在CMS方面,您可以提供控件来“帮助”用户找到页面、产品等的路由
然后,您的应用程序可以使用视图辅助对象或公共部分来呈现这些内容,如果此时需要,可以将数据转换为zend_导航对象
TLDR;总结:
在应用程序级别使用zend_导航用于演示目的,而不是为数据建模
从我所读到的内容中,我知道我似乎走上了正确的道路。我担心的是单视图进近方法的路线冲突。你能告诉我你将如何管理这一点吗?谢谢你的回答