自定义标签函数
public function tagVod($tag,$content){
if(empty($tag['id'])){
$tag['id'] = 'vo';
}
if(empty($tag['key'])){
$tag['key'] = 'key';
}
if(!empty($tag['where'])){
$arr = json_decode($tag['where']);
$tag['where'] = array_merge($arr,[['vod_status','=',1]]);
}else{
$tag['where'] = [['vod_status','=',1]];
}
$parse = '<?php ';
$parse .= '$__TAG__ = \'' . json_encode($tag) . '\';';
$parse .= '$__Vod__ = VodData($__TAG__);';
$parse .= '$__LIST__ = $__Vod__;';
$parse .= ' ?>';
$parse .= '{volist name="__LIST__" id="'. $tag['id'].'" key="'.$tag['key'].'"}';
$parse .= $content;
$parse .= '{/volist}';
return $parse;
}
模板调用自定义标签
{cymini:vod where='[["type_id","=",16]]' limit='5' }
<p>{$vo.vod_name}</p>
{/cymini:vod}
自定义标签调用函数
function VodData($args){
if(!is_array($args)){
$args = json_decode($args,true);
if(!is_array($args['where'])){
$args['where'] = json_decode($args['where']);
}
}
static $defaults = [
'table'=>'vod',
'where'=>[],
'order'=>'vod_id desc',
'field'=>'*',
'page'=>0,
'limit'=>10,
];
$table = $args['table'] ?? $defaults['table'];
$where = $args['where'] ?? $defaults['where'];
$order = $args['order'] ?? $defaults['order'];
$field = $args['field'] ?? $defaults['field'];
$page = $args['page'] ?? $defaults['page'];
$limit = $args['limit'] ?? $defaults['limit'];
return Db::name($table)->field($field)->where($where)->order($order)->page($page,$limit)->select()->toArray();
}
日常开发Vlog
发表评论