thinkphp 模板调用数据
我自己写了个简单的模板是这样的
<!DOCTYPE html> <html> <head> <style> div { width:230px; height:230px; margin:10px; /* div间距 */ text-align:center; /*文字水平居中*/ vertical-align: middle; line-height:230px; /*line-height must be equal to height 文字垂直居中,与上一行配合与整体高度配合,垂直居中*/ float:left; /*div水平分布排列、浮动靠左排列 */ } div:hover/*鼠标指针响应事件*/ { animation:myfirst 5s; /* 动画开启、时间为5秒 */ -webkit-animation:myfirst 5s; /* Safari 和 Chrome */ } @-webkit-keyframes myfirst /* Safari and Chrome *//*动画流程*/ { from {background:red; -webkit-transform: rotateY(180deg);} /*红色、围绕y轴旋转180度 */ to {background:yellow; -webkit-transform: rotateY(360deg);} } </style> </head> <body> <div style="background-color:#FF8F59;onclick="window.open"> <a href="http://www.baidu.com" target="_blank">双重定义打开超链接,为什么? </a> </div> <div style="background-color:#6FB7B7;onclick="window.open('www.baidu.com')"> <a href="http://www.baidu.com" target="_blank">百度</a> </div> <div style="background-color:#8600FF;onclick="window.open"> <a href="http://www.baidu.com" target="_blank">百度</a> </div> <div style="background-color:#FFFF93 ;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> <div style="background-color:#FFD2D2;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> <div style="background-color:#E0E0E0;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> <div style="background-color:#FAF4FF;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> <div style="background-color:#E8E8D0;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> <div style="background-color:#EBD3E8;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> <div style="background-color:#CEFFCE;onclick="window.open"> <p><a href="http://v.youku.com/">初级教程</p> </div> </body> </html>
我想用thinkPHP把数据添加进来
该怎么办呢。。。
我在看模板引擎手册
先配置一下。。。
$this->display();
看下最基础的东西吧,了解一下它的大概规则
控制器里加入
$name = 'ThinkPHP'; $this->assign('name',$name);
显示页内把{$name}找个地方塞进去
刷新一下
第二个超链接的标签变成thinkphp了
遍历输出
应该是它了
怎么把数据加入进去呢。。。
百度一下
还是看下Volist标签吧
在Action中首先对模版赋值:已经习惯控制器了,至少应该能接触到数据库,这是示范代码
- $User = M('User');
- $list = $User->select();
- $this->assign('list',$list);
大概意思好像是
user的值是从数据库user里获取的
list的值是通过数据库查询得到的
那么,显示出list的值,list是个列表
我的数据库是confluence,第一行语法得改成
$User = M('admin');
我好像没有list,我看看。。。
不知道div行不行,先改下试试
$div = $User->select();
$this->assign('div',$div);
模板里应该添加成
- <volist name="div" id="vo">
- {$vo.admin}
- </volist>
试一下
是这样的一个效果
已经能从数据库里调出循环的数据了,非常好
思路应该是,让调出的数据等于链接标题就好了,再循环一下
<body> <foreach name="div" item="vo"> <div style="background-color:#FF8F59;onclick="window.open"> <a href="http://www.baidu.com" target="_blank"> {$vo.admin} </a> </div> </foreach> </body>
减少了好多的代码量啊。。。
颜色改一下
随机的最好
background-color:red
控制器里看看能不能赋值给red,如果能,就可以把它改成变量了吧。。。
$name = 'red';
$this->assign('name',$name);
模板改为
background-color:{$name}
现在模板的颜色可以用控制器控制了
怎么把name变成随机函数呢。。。
定义一下red和blue,但是模板中的随机函数接收不到
{:mt_rand(1,5)}————这行代码会被解析成<?php echo mt_rand(1,5);?>
简单的东西搞复杂了就不好了啊。。。
光一个html看来很无力啊。。。
就这样吧。。。不浪费时间了。。。