【ThinkPHP学习】模板支持及思路
来源:互联网 发布:淘宝hd历史版本 ios 编辑:程序博客网 时间:2024/05/21 17:17
RT.
使用ThinkPHP的模板支持,直接在页面加载模板,使得页面结构更加清晰化。ThinkPHP(按照最新3.2.2版本)的模板操作流程思路总结如下:
1:在对应模块(Home/Admin/...)Controller下创建对应控制器
2:在View中创建对应控制器的表现层文件
3:在模板文件夹Widget中创建模板控制器
4:在View中创建渲染模板的模板文件
举个栗子:
我的项目 Exam 在项目下有Home模块
1:在Home/Controller下新建一个ModulesCotroller.class.php控制器,其中的index方法调用自身表现层文件展示:
<?phpnamespace Home\Controller;use Think\Controller;class ModulesController extends Controller{ public function index(){ $this->display(); }}
2:在Home/View/Modules目录下新建一个index.html表现层文件
<!DOCTYPE html><html><head> <title>test</title></head><body>{:W('Menu/render',array('blue'))}<!--调用W方法,并传参数值blue--></body></html>
我们通过127.0.0.1/Exam/Home/Modules/index访问这个方法,index.html文件中调用了W方法调用项目的模板文件来进行渲染,接下来完善模板文件。
3:在Home/Widget目录下创建MenuWidget.class.php菜单项模板控制器
<?phpnamespace Home\Widget;use Think\Controller;class MenuWidget extends Controller{ public function render($data){ $this->assign('menu',$data); //取的index.html传来的值,并赋予menu变量 $this->display('Menu:menu'); //调用模板渲染文件进行渲染 } }
<font color="{$menu}">这是模板菜单</font> <!--通过{$menu}来使用参数-->
通过这四个步骤,就可以在我们的控制器中调用使用我们已经创建好的模板,或者通过传入不同的参数来使得模板展现出不同的样式。
针对于传多个参数,可以在index.html中的W方法调用时,传多几个参数过去:
{:W('Menu/render',array('color'=>'blue','size'=>'30'))}
记得数组要加上下标。
在MenuWidget控制器中要分别接收这两个参数,然后再使用数组将这些参数赋予一个元素,并将其传给渲染模板文件:
public function render($color, $size){ $data = array('color'=>$color, 'size'=>$size); $this->assign('menu',$data); $this->display('Menu:menu'); }
在menu模板文件中可以通过{$menu[变量下标]}的方法来调用我们的数组参数,这个和之前在模板中调用模型数据是一样的道理。
例如:
<font color={$menu[color]} size={$menu[size]}>这是模板菜单</font>
0 0
- 【ThinkPHP学习】模板支持及思路
- ThinkPHP学习笔记多模板支持和多语言支持
- 【ThinkPHP学习】模板标签
- ThinkPHP学习笔记(十三)多模板支持和多语言支持
- ThinkPHP学习之多语言支持
- 【ThinkPHP学习】模板函数调用
- 关于重新学习thinkphp的思路
- nginx 学习笔录(支持thinkphp)
- ThinkPHP学习笔记(二):ThinkPHP框架的模板技术
- 让你的thinkphp支持嵌套继承模板
- js模板方法的思路及实现
- ThinkPHP自带模板学习笔记二
- ThinkPHP模板
- thinkPHP学习之模板显示与模板替换配置项
- springboot学习思路及误区
- ThinkPHP学习笔记(4) ThinkPHP的模板显示与模板输出
- ThinkPHP模板替换与系统常量及应用
- ThinkPHP跳转页success及error模板实例教程
- Android开发之EditText属性详解
- Visual Studio 2010 控制台应用程序窗口闪退的设置
- IOS正则表达式
- “单比特信号同步” 学习笔记(跨时钟域问题)
- poj-1088-滑雪
- 【ThinkPHP学习】模板支持及思路
- hdu3371: Connect the Cities
- python学习一
- feof ferror
- emmc相关文件
- poj1161Post Office【经典dp】
- Yii框架tips大全
- Unite 2014总结:Unity让游戏开发简单高效
- XCode快捷键大全