登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

模板中的自定义标签  

2017-10-13 23:22:07|  分类: thinkphp |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
示例环境:thinkphp3.2.3
config.php中加一行:
'TAGLIB_BUILD_IN' => 'Cx,Common\Tag\My', //加载自定义标签

示例是在Application/Common/Tag目录下建的My.class.php

新建My.class.php文件

命名空间要和配置项中填写的一致;


<?php  
 
namespace Common\Tag;
use Think\Template\TagLib;
 
class My extends TagLib {
    // 定义标签
    protected $tags=array(
         // 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次
        'ueditor'=> array('attr'=>'name,content','close'=>0),
        'recommend'=>array('attr'=>'limit','level'=>1),
        'block'=>array('attr'=>'label','level'=>2)
        );

    //调用碎片
     /**
      * [_block 调用碎片]
      * @param  [type] $tag     [description]
      * @param  [type] $content [description]
      * @return [type]          [description]
      * 示例:
      * <block label="label1" ></block>
      * label="block表的label字段的值"
      */
     public function _block($tag,$content){
if(empty($tag['label'])){
$where="id>0 ";
}else{
$where='label='.trim($tag['label']);
}

$datas = M('Block')->field('id,title,content')->find();
if (!empty($datas) && is_array($datas)){
$out = '<!--碎片调用:'.$tag['label'].'-->';
$out .= html_entity_decode($datas['content']);
return $out;
}else{
$out = '<!--碎片调用:'.$tag['label'].' '.$datas.' 失败-->';
return $out;
}        
     }
}

  评论这张
 
阅读(414)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018