Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend框架:如何允许cms用户创建菜单并从管理面板链接到适当的页面?_Php_Zend Framework_Menu_Content Management System_Zend Navigation - Fatal编程技术网

Php 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_导航创

我在一个个人cms项目上工作了相当长的时间,原因是我厌倦了为每个项目从头开始创建新的db层和组件。所以我决定在zend框架中启动一个小型cms

现在,我应该让用户(未来的客户机)能够管理网站,创建他们的
菜单
路由
等,并将其指向数据库中存储的真实页面

我有两个模块,如文章、内容、图库等。在我的项目中,我将文章和页面分开。对于文章,我认为它非常直接。对于页面,它可能很棘手

因此,一个页面被保存在一个表中(带有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_导航用于演示目的,而不是为数据建模


从我所读到的内容中,我知道我似乎走上了正确的道路。我担心的是单视图进近方法的路线冲突。你能告诉我你将如何管理这一点吗?谢谢你的回答