动态引用 文件 include 支持变量解析
今天实例中用到了需要动态include文件 这样的方法,但thinkPHP不支持动态解析 。 使用场景: 用户登录后,根据等级调用不同的显示页面,因此需要动态引入文件,而thinkPHP恰恰又不支持动态引入,只好自己想办法了。 那应该怎么去使用呢? 如图所示: ![]() 以上就是数据库对应着文件。 再紧接着就是用户登录成功后,要调用不同的Level 也是不同的menu文件 ,如需要调用menu1.tpl 或 menu2.tpl 等。 但thinkPHP不支持动态引用,怎么办? 我个人的解决方案: 看图:
![]() 说了,这里有对应着level 这个level是哪里来的呢? 是在controller中注入的 看图示: ![]() ![]() 为了给大家看的更明白,我把登录保存在session的数据,帖出来给大家看一下:免的不清楚是怎么回事 ![]() 需要修改 \ThinkPHP\Library\Think\Template.class.php 对应着parseInclude() 方法:具体修改如图所示: ![]() ![]() 编辑:\ThinkPHP\Library\Think\Template.class.php 代码如下: 需要的朋友拿走!!!!!!!!!!!另一种实现方式:http://www./code/1261.html |
|