zoukankan      html  css  js  c++  java
  • ThinkCMF常用代码

    模板常量
    __ROOT__:
    网站根目录,不带/;
    
    __WEB_ROOT__:
    网站资源根目录,不带/,如果以前版本用__ROOT__来定位网站资源,方便以后cdn切换
    
    __TMPL__:
    当前模板根目录,不带/;
    如:前台 simpleboot3模板根目录是 public/themes/simpleboot3
    后台admin_simpleboot3模板根目录是public/themes/admin_simpleboot3
    
    __STATIC__:
    public/static目录,不带/;
    
    视频讲解
    http://t.cn/RnQBHXZ
    
    
    
    
    系统变量输出
    系统变量的输出通常以{$Think开头,如:
    
    {$Think.server.http_host} // 输出$_SERVER['HTTP_HOST']变量
    {$Think.session.user_id}  // 输出$_SESSION['user_id']变量
    {$Think.post.id} // 输出$_POST['id']变量
    {$Think.get.page} // 输出$_GET['page']变量
    {$Think.cookie.name}  // 输出$_COOKIE['name']变量
    支持输出 $_SERVER$_ENV$_POST$_GET$_REQUEST$_SESSION和 $_COOKIE变量。
    
    常量输出
    {$Think.const.APP_PATH}
    {$Think.const.CMF_ROOT}
    或者直接使用
    
    {$Think.APP_PATH}
    {$Think.CMF_ROOT}
    
    配置输出
    输出配置参数使用:
    
    {$Think.config.default_module}
    {$Think.config.default_controller}
    语言变量
    输出语言变量可以使用:
    
    {$Think.lang.SAVE}
    {$Think.lang.ADD}
    
    
    
    
    
    
    
    可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数;
    
    // 调用Request对象的get方法 传入参数为id
    {$Request.get.id}
    // 调用Request对象的param方法 传入参数为name
    {$Request.param.name}
    // 调用Request对象的param方法 传入参数为post.post_title
    {$Request.param.post.post_title}
    // 调用Request对象的root方法
    {$Request.root}
    // 调用Request对象的root方法,并且传入参数true
    {$Request.root.true}
    // 调用Request对象的path方法
    {$Request.path}
    // 调用Request对象的module方法
    {$Request.module}
    // 调用Request对象的controller方法
    {$Request.controller}
    // 调用Request对象的action方法
    {$Request.action}
    // 调用Request对象的ext方法
    {$Request.ext}
    // 调用Request对象的host方法
    {$Request.host}
    // 调用Request对象的ip方法
    {$Request.ip}
    // 调用Request对象的header方法
    {$Request.header.accept-encoding}
    
    
    
    
    
    使用函数
    为了方便好记,ThinkCMF推荐在模板中使用下面的形式:
    
    <!--单个函数-->
    {:date('Y-m-d')}
    
    <!--多个函数-->
    {:date('Y年m月d日',strtotime('2017-05-20'))}
    
    
    
    
    
    使用默认值几个好处:
    
    如果变量未定义可以防止报错
    如果变量为空可以提供默认值,减少条件判断,复杂默认值还是要使用条件判断标签来实现
    给变量设置默认值输出
    
    {$category.name|default='分类名为空'}
    {$user.user_nickname|default='这个家伙没有设置昵称'}
    给系统变量设置默认值输出
    
    {$Think.get.name|default="名称为空"}
    
    
    
    
    模板可以支持三元运算符,如:
    
    {$status?'发布':'下线'}
    {$vo.status?'发布':'下线'}
    {$vo['status']?'发布':'下线'}
    支持条件判断表达式:
    
    {$a==$b ? 'yes' : 'no'}
    条件运算符可以是==、===、!=、!==、>=、<=
    
    
    
    原样输出
    literal标签可以防止模板标签被解析,所有想原样输出的代码都可以使用这个标签包裹起来,如:
    
    <literal>
        这里是原样输出的内容{$name}
    </literal>
    如果 js 代码有和模板引擎有冲突的地方也可以使用literal标签包裹起来,防止被解析。
    
    
    
    
    
    
    
    
    模板注释支持单行注释,多行注释,模板被模板引擎解析不会在页面中输出这些注释,只有开发者可以看到,所以一些不想让用户看到的注释可以使用模板注释。
    
    单行注释
    {//单行注释方式一}
    {/*单行注释方式二*/}
    多行注释
    {/*
    这里多行注释
    这里多行注释
    这里多行注释
    */}
    注:{和注释标记(//,/*)之间不能有空格。
  • 相关阅读:
    职业规划书
    阿里云mysql安装配置(CentOS 7.3 64)
    在mvc中弹出提示框
    俺的博客开通啦
    sql中计算列小解
    ext的grid 获取页面内容方式
    2条路 代码生成 or 配置 2.1
    ext做列表页面关于查询多行的办法
    .net下开发windows服务的经验
    微软.net下 charting 要注意的事情
  • 原文地址:https://www.cnblogs.com/xiaohe520/p/11810189.html
Copyright © 2011-2022 走看看