成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何使用TP5taglib自定義標(biāo)簽

本篇文章為大家展示了如何使用TP5 taglib自定義標(biāo)簽,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到昭平網(wǎng)站設(shè)計(jì)與昭平網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋昭平地區(qū)。

taglib是tp框架自定義標(biāo)簽功能,如果你用過(guò)cms,肯定見(jiàn)過(guò)類(lèi)似:

{dede:arclist typeid='' row='' col='' titlelen='' infolen=''  orderby='' keyword=''}
ssss...
{/dede:arclist}

或者:

{pc:content action="lists" cache="3600" num="20" page="$page"}
{/pc}

這樣的操作,這對(duì)于開(kāi)發(fā)工作是挺方便的,所以覺(jué)得有必要看下tp的taglib,教程如下:

1 、在common(我是在common,你自己看,反正是用命名空間載入)里新建目錄taglib
2、在taglib里新建Cc.php 繼承think的Tglib,代碼如下:

<?php
/**
 * Created by PhpStorm.
 * User: lichenchen
 * Date: 2018/3/25
 * Time: 下午8:34
 */
namespace app\common\taglib;
use think\template\TagLib;
use app\common\model\Article;
class Cc extends TagLib
{


    protected $tags = [
        'articles' => ['attr'=> 'field,id,limit,cid,order,returnname', 'close'=>1]
    ];
    /**
     * 文章標(biāo)簽
     */
    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
<?php
    \$$returnname = \app\common\model\Article::taglib_articles([
    'field'   => {$field},
    'cid'=>{$cid},
    'limit'=>{$limit},
    'order'=>{$order}
]);
?>
{volist name="{$returnname}" id="{$id}"}
{$content}
{/volist}
parse;
        return $parse;
    }
}

這里演示的是一個(gè)文章標(biāo)簽 articles里面調(diào)用了Article模型的靜態(tài)方法taglib_articles , 順便也貼下代碼吧,就是根據(jù)條件查詢(xún)的

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的配置文件里,加一條配置載入自定義標(biāo)簽文件的

// +----------------------------------------------------------------------
    // | 模板設(shè)置
    // +----------------------------------------------------------------------
    'template'               => [
        // 模板引擎類(lèi)型 支持 php think 支持?jǐn)U展
        'type'         => 'Think',
        // 模板路徑
        'view_path'    => '',
        // 模板后綴
        'view_suffix'  => 'html',
        // 模板文件名分隔符
        'view_depr'    => DS,
        // 模板引擎普通標(biāo)簽開(kāi)始標(biāo)記
        'tpl_begin'    => '{',
        // 模板引擎普通標(biāo)簽結(jié)束標(biāo)記
        'tpl_end'      => '}',
        // 標(biāo)簽庫(kù)標(biāo)簽開(kāi)始標(biāo)記
        'taglib_begin' => '{',
        // 標(biāo)簽庫(kù)標(biāo)簽結(jié)束標(biāo)記
        '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"}<li><a href="#">{$vo.title}</a></li>{/cc:articles}

上述內(nèi)容就是如何使用TP5 taglib自定義標(biāo)簽,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

名稱(chēng)欄目:如何使用TP5taglib自定義標(biāo)簽
新聞來(lái)源:http://jinyejixie.com/article44/gpihhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)定制網(wǎng)站、做網(wǎng)站域名注冊(cè)、小程序開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
张家港市| 图木舒克市| 潼关县| 繁昌县| 陆川县| 绿春县| 洛宁县| 福海县| 利辛县| 洛隆县| 崇明县| 凤庆县| 恭城| 仙桃市| 龙井市| 萨嘎县| 张家口市| 电白县| 安岳县| 武邑县| 大石桥市| 芜湖县| 东海县| 横峰县| 凌云县| 定西市| 大荔县| 广丰县| 澜沧| 宁晋县| 开江县| 锦屏县| 万州区| 汤阴县| 卓资县| 临洮县| 丹寨县| 翁牛特旗| 德江县| 华安县| 通江县|