童攀TP5企业网站实战笔记

$this->assign('data',$data)

  

---恢复内容开始---

  1. return view();   载入视图
  2. {include file='public/head'} 包含文件
  3. {:url('admin/add')} 视图中跳转链接
  4. input('post.'); 获取post来的全部数据
  5.  request()->isPost() 判断数据是不是post过来的
     if(request()->isPost()){
                $data=input('post.');
                $res=db('admin')->insert($data);
                if($res){
                    $this->success('添加管理员成功!',url('lst'));
                }else{
                    $this->error("添加管理员失败!");
                }
            }
    
  6.  $res=db('admin')->field('name')->select(); select是查询所有数组,find()是查询一条记录
  7.  $res=db('admin')->where(array('id'=>1))->find();
  8. 实例化表  1 助手函数  db('admin')  2 Db()类操作 先引入 use thinkDb;  再实例化  $admin=Db::name('admin') 
  9. 栏目无限极分类
    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']);

      

  10. 在模板中进行条件判断       {if condition='$cate.type eq 1'}  单页    {else}  列表  {/if}
  11. 前置操作
    class Index extends Controller
    {
        protected $beforeActionList = [
            'first',
            'second' =>  ['except'=>'hello'],
            'three'  =>  ['only'=>'hello,data'],
        ];
    ……
    …………
    }
    

     a、执行本类的所有方法前都会先执行first方法
       b、除了hello方法,执行本类的其他方法前都会先执行first方法
      c、只有执行hello和data方法前才会执行three方法

  12. {:url('del',array('id'=>$admin['id']))}  带参数的url跳转,注意参数值不能用点模式

  13. 给模板分配数据

    $this->assign('data',$data)
    

    以数组形式给模板分配多条数据

    $this->assign(array(
        		'cates'=>$cates,
        		'cateres'=>$cateres
        		));
    

      

  14. <div style="padding-top:10px;">
                        {$artres->render()}
                    </div>

  15. {if condition="$art.author eq ''"} 未填写
                                    {else}
                                    {$art.author}
                                    {/if}

  16. 排序

    <td align="center"><input name="{$link.id}" type="text" style="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;
            }
    

      

  17. 控制器驼峰法命名,比如AuthGroup,在浏览器上访问时要输入auth_group

  18.  <!-- 引用百度编辑器 -->
           
               <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>
    

      

  19. 验证码
    视图html文件添加:

    <div><img src="{:captcha_src()}" alt="captcha" style=" 100px;height: 30px;cursor: pointer;" 
    onclick="this.src='{:captcha_src()}?'+Math.random();" /></div>
    
  20. 在模板中调用session值
    {$Request.session.name}


       

原文地址:https://www.cnblogs.com/yolo-bean/p/7452784.html