本文实例讲述了ThinkPHP实现动态包含文件的方法。分享给大家供大家参考。具体分析如下:
问题描述:在做项目的时候遇到问题,也是很常见的问题,一般主页包含头部和脚步,为了方便管理,这些都需要使用包含文件来实现,ThinkPHP提供了包含文件的方法,以上是最简单的包含的操作的方式,但是在运行的过程中我发现,在请求的时候只是请求的是模板文件,也就是所谓的静态包含,但是如果遇到菜单是动态生成的就很难办了.
在网上找到一个解决办法:使用Widget
1、我们在页面中实现一个分类显示的Widget,首先我们要实现我们首先定义一个Widget控制器层 CateWidget,如下:
class CateWidget extends Action { public function menu(){ return 'menuWidget'; } }
2、然后,我们在模版中通过R方法调用这个Widget(扩展Widget方式在模版中使用的是W方法),如果对R函数不了解的参考这里.(http://www.thinkphp.cn/info/134.html)
{:R('Cate/Menu','','Widget')}
执行后的输出结果是:menuWidget
3、如果,CateWidget类的menu方法改成:
class CateWidget extends Action { public function menu(){ echo 'menuWidget'; } }
{~R('Cate/Menu','','Widget')}
5、如果需要在调用Widget的时候 使用参数,可以这样定义:
class CateWidget extends Action { public function menu($id,$name){ echo $id.':'.$name; } }
{:R('Cate/Menu',array(5,'thinkphp'),'Widget')}
则会输出 5:thinkphp
7、来一个复杂一点的例子:
class CateWidget extends Action { public function menu(){ $menu = M('Cate')->getField('id,title'); $this->assign('menu',$menu); $this->display('Cate:menu'); } }
在menu.html模版文件中的用法:{$key}:{$title}
希望本文所述对大家的ThinkPHP框架程序设计有所帮助。
本文向大家介绍Thinkphp多文件上传实现方法,包括了Thinkphp多文件上传实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Thinkphp多文件上传实现方法,分享给大家供大家参考。具体实现方法如下: Thinkphp手册中对于多文件上传描述的很清楚:如果需要使用多个文件,只需要修改表单,把 改为 或者 暂且自己的上传表单域为两个,一个上传图片,一个上传视频。字段名为imag
问题内容: 如何识别包含本机方法实现的库文件? 例如 我在哪里可以找到实现的方法是什么? 问题答案: 通过谷歌快速搜索找到答案 恒定池 符号表cpp:符号表hpp 尚未找到识别本地实施/库的通用方法的答案
本文向大家介绍jQuery动态加载css文件实现方法,包括了jQuery动态加载css文件实现方法的使用技巧和注意事项,需要的朋友参考一下 有时我们可能会需要使用 jQuery 来加载一个外部的 css 文件,如在切换页面布局时。思路是创建一个 link 元素,并将它添加到 标记中即可,下边首先看看怎么使用 jQuery 来实现。 下边是我喜欢的写法: 有些朋友可能会使用下边的写法,只是形式有些小
本文向大家介绍webpack 动态批量加载文件的实现方法,包括了webpack 动态批量加载文件的实现方法的使用技巧和注意事项,需要的朋友参考一下 背景 最近笔者在工作中遇到了一个小需求: 要实现一个组件来播放帧图片 这个需求本身不复杂,但是需要在组件中一次性引入十张图片,就像下面这样: 作为一个有代码洁癖的程序员,我是不允许这种重复性代码存在滴,于是乎就尝试有没有什么简单的方法。 方法一:绕过
本文向大家介绍Vue动态面包屑功能的实现方法,包括了Vue动态面包屑功能的实现方法的使用技巧和注意事项,需要的朋友参考一下 面包屑应该是我们在项目中经常使用的一个功能,一般情况下它用来表示我们当前所处的站点位置,也可以帮助我们能够更快的回到上个层级。 今天我们就来聊聊如何在 Vue 的项目中实现面包屑功能。以下案例都是使用 Element-UI 进行实现。 最笨的方式 首先我们想到的最笨的方法就是
本文向大家介绍jquery及js实现动态加载js文件的方法,包括了jquery及js实现动态加载js文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery及js实现动态加载js文件的方法。分享给大家供大家参考,具体如下: 问题: 如果用jquery append直接加载script标签的话,会报错的。除了document.write外,还有没有其他的比较好的动态加载js文件