我为自己的网站创建了一个通用的“页面”控制器。这些页面主要提供静态信息,它们从数据库中提取最新版本的页面内容和更新日期。在每个页面上,他们都有一个部分菜单和一个资源菜单。部分菜单由页面所在站点的逻辑部分决定。资源菜单包含与该页面关联的资源的链接,文档,非现场链接,日历事件的链接等。这些资源是页面特定的,也是拉取的来自数据库。
目前,Page控制器会生成它们并将它们放在视图中,但我正在研究其他可能只有一个,两个或没有菜单的控制器。我应该继续选择菜单并生成页面控制器的功能并将其复制粘贴到新控制器吗?或者我应该以某种方式将菜单查找和生成函数分解为其他对象(库,帮助器或插件)?如果是这样,我应该如何解决它?或者我应该如何实施呢?
答案 0 :(得分:0)
你可以做几件事,但重要的是要记住尝试让代码一次,所以对于菜单你不想复制和粘贴它。
如果您要根据用户权限定义菜单,或者您可以在视图中检查这些内容,例如:
<?php if ($this->tank_auth->checkPerm('Backup')) : ?>
<div class="menu_item" id="menu4">...
<?php endif; ?>
如果要根据页面或各种内容更改菜单,还可以从控制器向视图发送参数。
不需要制作库,帮助器或插件。