thinkphp5,taglib
php框架-ThinkPHP
学着写了一下,终于搞定了,顺便分享一下!投资公司网站源码,vscode如何做网页,ubuntu默认游戏,tomcat启动方式区别,爬虫抢鞋,php 过滤空格换行,抖音seo怎么获客,论坛视频网站源码下载,dz迪恩模板安装教程lzw
taglib是tp框架自定义标签功能,如果你用过cms,肯定见过类似:爱客影音源码,ubuntu取消自动粘贴,tomcat脚本启动脚本,爬虫教程培训,php5.6和7.1,seo花费lzw
{dede:arclist typeid='' row='' col='' titlelen='' infolen='' orderby='' keyword=''}ssss...{/dede:arclist}
或者:
广告位自动友链源码,开机直接启动ubuntu,增加一个tomcat服务器,渗透爬虫是什么,php强制转换三种方法,海宁网站seolzw
{pc:content action="lists" cache="3600" num="20" page="$page"}{/pc}
这样的操作,这对于开发工作是挺方便的,所以觉得有必要看下tp的taglib,教学如下:
1 、在common(我是在common,你自己看,反正是用命名空间载入)里新建目录taglib
2、在taglib里新建Cc.php 继承think的Tglib,代码如下:
['attr'=> 'field,id,limit,cid,order,returnname', 'close'=>1] ]; /** * 文章标签 */ public function tagArticles($tag, $content) { $id = $tag['id']?$tag['id']:'vo'; $order = empty($tag['order']) ? "'id DESC'" : '"'.$tag['order'].'"'; $returnname = 'article_data'; $field = "''"; if (!empty($tag['field'])) { if (strpos($tag['field'], '$') === 0) {$field = $tag['field'];$this->autoBuildVar($field); } else {$field = "'{$tag['field']}'"; } } $cid = "''"; if (!empty($tag['cid'])) { if (strpos($tag['cid'], '$') === 0) {$cid = $tag['cid'];$this->autoBuildVar($cid); } else {$cid = "'{$tag['cid']}'"; } } $limit = "''"; if (!empty($tag['limit'])) { if (strpos($tag['limit'], '$') === 0) {$limit = $tag['limit'];$this->autoBuildVar($limit); } else {$limit = "'{$tag['limit']}'"; } }else{ $limit = '0,5'; } $parse = <<<parse {$field}, 'cid'=>{$cid}, 'limit'=>{$limit}, 'order'=>{$order}]);?>{volist name="{$returnname}" id="{$id}"}{$content}{/volist}parse; return $parse; }}
这里演示的是一个文章标签 articles里面调用了Article模型的静态方法taglib_articles , 顺便也贴下代码吧,就是根据条件查询的
public static function taglib_articles($param) { $field = $param['field']; $cid = $param['cid']; $limit = $param['limit']; $order = $param['order']; $result = Article::where('cid', 'in',$cid)->field($field)->limit($limit)->order($order)->select(); return $result; }
之后,在tp的配置文件里,加一条配置载入自定义标签文件的
// +---------------------------------------------------------------------- // | 模板设置 // +---------------------------------------------------------------------- 'template' => [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think', // 模板路径 'view_path' => '', // 模板后缀 'view_suffix' => 'html', // 模板文件名分隔符 'view_depr' => DS, // 模板引擎普通标签开始标记 'tpl_begin' => '{', // 模板引擎普通标签结束标记 'tpl_end' => '}', // 标签库标签开始标记 'taglib_begin' => '{', // 标签库标签结束标记 'taglib_end' => '}', 'taglib_pre_load' => 'app\common\taglib\Cc', ],
就是:’taglib_pre_load’ => ‘app\common\taglib\Cc’, 这条 。
之后就可以在模版里使用了
{cc:articles cid="1" field='id,title' limit="2" order="id asc" id="vo"}
很方便吧,整了两个小时,才写好,特此记录一下,希望也能帮助到需要的朋友们!
《thinkphp教学》