模板中的自定义标签

示例环境: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;
}        
     }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值