溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

thinkphp自定義模板標(biāo)簽(二)

發(fā)布時間:2020-03-23 20:37:46 來源:網(wǎng)絡(luò) 閱讀:337 作者:帥白123 欄目:web開發(fā)

上篇文章已經(jīng)把自定義標(biāo)簽的準(zhǔn)備工作講完了;那么接下來就是見證...的時候了;沒看如何配置的請先移步thinkphp自定義模板標(biāo)簽(一)

    閉合標(biāo)簽就是單標(biāo)簽;比如a標(biāo)簽、img標(biāo)簽等等;

    非閉合標(biāo)簽就是對標(biāo)簽;比如div、p標(biāo)簽等等;

    這里以自定義的ueditor和recommend標(biāo)簽為例;

    自定義的閉合標(biāo)簽比較適合用來引文件;

    自定義的對標(biāo)簽比較適合調(diào)取數(shù)據(jù)庫的數(shù)據(jù)并前臺頁面遍歷顯示;

<?php  

namespace Common\Tag;
use Think\Template\TagLib;

class My extends TagLib {
    // 定義標(biāo)簽
    protected $tags=array(
         // 標(biāo)簽定義: attr 屬性列表 close 是否閉合(0 或者1 默認(rèn)1) alias 標(biāo)簽別名 level 嵌套層次
        'ueditor'=> array('attr'=>'name,content','close'=>0),
        'recommend'=>array('attr'=>'limit','level'=>1)
        );

    /**
    *引入ueidter編輯器
    *@param string $tag  name:表單name content:編輯器初始化后 默認(rèn)內(nèi)容
    */
    public function _ueditor($tag){
        $name=$tag['name'];
        $content=$tag['content'];
        $link=<<<php
<script id="container" name="$name" type="text/plain">
    $content
</script>
<script type="text/javascript" src="__PUBLIC__/static/ueditor1_4_3/ueditor.config.js"></script>
<script type="text/javascript" src="__PUBLIC__/static/ueditor1_4_3/ueditor.all.js"></script>
<script type="text/javascript">
    var ue = UE.getEditor('container');
</script>
php;
        return $link;
    }

    // 置頂推薦文章標(biāo)簽 cid為空時則抓取全部分類下的推薦文章
     public function _recommend($tag,$content){
         if(empty($tag['cid'])){
             $where="is_show=1 and is_delete=0 and is_top=1";
         }else{
             $where='is_show=1 and is_delete=0 and is_top=1 and cid='.$tag['cid'];
         }
         $limit=$tag['limit'];
         // p($recommend);
         $php=<<<php
<?php         
            \$recommend=M('Article')->field('aid,title')->where("$where")->limit($limit)->select();
            foreach (\$recommend as \$k => \$field) {
                \$url=U('Home/Index/article',array('aid'=>\$field['aid']));
?>
php;
        $php.=$content;    //拼字符串的過程。。。
        $php.='<?php } ?>';//foreach的回擴(kuò);
        return $php;
     }
}
?>

定義完成后在html頁面中就可以直接使用<ueditor />即可引入ueditor文件;

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<ueditor />
</head>
<body>
    <recommend cid="" limit="10">
       <a class="recommend-a" href="{:U('Home/Index/article',array('aid'=>$field['aid']))}" target="_blank">{$k+1}:{$field['title']}</a>
    </recommend>
</body>
</html>

ueditor標(biāo)簽可以直接實(shí)例化ueditor編輯器

而如下圖本站的熱門推薦就是使用recommend遍歷的;

thinkphp自定義模板標(biāo)簽(二)


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI