上篇文章已經把自定義標籤的準備工做講完了;那麼接下來就是見證...的時候了;沒看如何配置的請先移步thinkphp自定義模板標籤(一)javascript
閉合標籤就是單標籤;好比a標籤、img標籤等等;php
非閉合標籤就是對標籤;好比div、p標籤等等;html
這裏以自定義的ueditor和recommend標籤爲例;java
自定義的閉合標籤比較適合用來引文件;thinkphp
自定義的對標籤比較適合調取數據庫的數據並前臺頁面遍歷顯示;
數據庫
<?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) ); /** *引入ueidter編輯器 *@param string $tag name:表單name content:編輯器初始化後 默認內容 */ 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; } // 置頂推薦文章標籤 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的回擴; 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標籤能夠直接實例化ueditor編輯器url
而以下圖本站的熱門推薦就是使用recommend遍歷的;spa