童攀TP5企业网站实战笔记
$this->assign('data',$data)
---恢复内容开始---
- return view(); 载入视图
- {include file='public/head'} 包含文件
- {:url('admin/add')} 视图中跳转链接
- input('post.'); 获取post来的全部数据
- request()->isPost() 判断数据是不是post过来的
if(request()->isPost()){ $data=input('post.'); $res=db('admin')->insert($data); if($res){ $this->success('添加管理员成功!',url('lst')); }else{ $this->error("添加管理员失败!"); } }
- $res=db('admin')->field('name')->select(); select是查询所有数组,find()是查询一条记录
- $res=db('admin')->where(array('id'=>1))->find();
- 实例化表 1 助手函数 db('admin') 2 Db()类操作 先引入 use think\Db; 再实例化 $admin=Db::name('admin')
- 栏目无限极分类
class Cate extends Model { function catetree() { $cateres=$this->select(); return $this->sort($cateres); } function sort($data,$pid=0,$level=0) { static $arr=array(); foreach($data as $v){ if($v['pid']==$pid){ $v['level']=$level; $arr[]=$v; $this->sort($data,$v['id'],$level+1); } } return $arr; } }
//调用该方法
$admin->catetree();
echo str_repeat(' |--',$cate['level']); - 在模板中进行条件判断 {if condition='$cate.type eq 1'} 单页 {else} 列表 {/if}
- 前置操作
class Index extends Controller { protected $beforeActionList = [ 'first', 'second' => ['except'=>'hello'], 'three' => ['only'=>'hello,data'], ]; …… ………… }
a、执行本类的所有方法前都会先执行first方法
b、除了hello方法,执行本类的其他方法前都会先执行first方法
c、只有执行hello和data方法前才会执行three方法 -
{:url('del',array('id'=>$admin['id']))} 带参数的url跳转,注意参数值不能用点模式
-
给模板分配数据
$this->assign('data',$data)
以数组形式给模板分配多条数据
$this->assign(array( 'cates'=>$cates, 'cateres'=>$cateres ));
-
<div style="padding-top:10px;">
{$artres->render()}
</div> -
{if condition="$art.author eq ''"} 未填写
{else}
{$art.author}
{/if} -
排序
<td align="center"><input name="{$link.id}" type="text" style="width:50px; text-align:center;" value="{$link.sort}"></td>
if(request()->isPost()){ $sorts=input('post.'); foreach ($sorts as $k => $v) { $link->update(['id'=>$k,'sort'=>$v]); } $this->success('更新排序成功!',url('lst')); return; }
-
控制器驼峰法命名,比如AuthGroup,在浏览器上访问时要输入auth_group
-
<!-- 引用百度编辑器 --> <script src="__ADMIN__/ueditor/ueditor.config.js"></script> <script src="__ADMIN__/ueditor/ueditor.all.min.js"></script> <script type="text/javascript"> //实例化编辑器 //建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该编辑器,直接调用UE.getEditor('editor')就能拿到相关的实例 UE.getEditor('content',{initialFrameWidth:800,initialFrameHeight:400,});//'content'为要引入百度编辑器的文本域的id </script>
-
验证码
视图html文件添加:<div><img src="{:captcha_src()}" alt="captcha" style="width: 100px;height: 30px;cursor: pointer;" onclick="this.src='{:captcha_src()}?'+Math.random();" /></div>
-
在模板中调用session值
{$Request.session.name}