thinkphp动态包含文件的方法
问题描述:
在项目中一般主页包含头部和脚步,为了方便管理,这些都需要使用包含文件来实现,ThinkPHP提供了包含文件的方法。
不过在运行的过程中,请求时只是请求的是模板文件,即所谓的静态包含,如果遇到菜单是动态生成,就是再寻他法了。
解决办法:使用Widget
1、在页面中实现一个分类显示的Widget,首先定义一个Widget控制器层 CateWidget。
例如:
注意,是在Widget包中定义,和一般的Action有区别。
2、然后,在模版中通过R方法调用这个Widget(扩展Widget方式在模版中使用的是W方法)。
R函数参考:http://www.thinkphp.cn/info/134.html
输出结果:
menuWidget
3、如CateWidget类的menu方法改成:
4、模版中的用法修改为:
5、若要在调用Widget时使用参数,则定义:
6、模版中参数调用,使用:
则会输出 5:thinkphp
7、复杂点的例子
8、CateWiget类渲染了一个模版文件Tpl/Cate/menu.html,调用模版的灵活也是使用这种方式实现Widget的区别(Widget扩展方式中需要调用renderFile方法渲染模版)。
在menu.html模版文件中的用法:{$key}:{$title}。
有关thinkphp动态包含文件用法的例子,就介绍这些了,希望对大家有所帮助。