麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > ThinkPHP > 正文

thinkphp 自定義標簽

2024-09-09 15:19:34
字體:
來源:轉載
供稿:網友

有了模板標簽讓網站前臺開發更加快速和簡單,更能節省時間原本由程序員來完成的工作,現在只要懂得html代碼就能自己建設出屬于自己的網站,接觸過dedecms、phpcms等內容管理系統的人都知道,cms的前臺都是使用模板標簽來調用數據,例如調用文章列表

dedecms:

  1. <ul> 
  2. {dede:arclist row='10' orderby='id desc' titlelen=''
  3.           <li>[field:title]</li> 
  4. {/dede:arclist} 
  5. </ul> 
  6. phpcms: 
  7. <ul> 
  8. {pc:content action="hits" catid="6" num="10" order="views DESC"
  9.      {loop $data $r
  10.        <li>{$r[title]}</li> 
  11.      {/loop} 
  12. {/pc} 
  13. </ul> 

這就是它們強大之處,接下來介紹一下THINKPHP強大的TAG擴展庫,thinkphp自帶以個tag擴展庫只要我們繼承TagLib就能隨心所遇的定義屬于自己的標簽.

命名規范:

TagLib+標簽庫名稱.class.php

例子下面的例子是實現調用導航,文件名稱TagLibNav.class.php

  1. <?php 
  2. class TagLibNav extends TagLib { 
  3.     //attr 屬性列表 close 是否閉合(0 或者1 默認1) alias 標簽別名 level 嵌套層次 
  4.     // 標簽定義 
  5.     protected $tags = array
  6.         
  7.         'nav' => array('attr' => 'limit,order''level' => 3,'close'=>1), 
  8.     ); 
  9.  
  10.     //定義查詢數據庫標簽 
  11.     //attr是屬性列表,$content是存儲標簽之間的內容的 
  12.     public function _nav($attr$content) { 
  13.         $tag=$this->parseXmlAttr($attr,$content); 
  14.         $cate=M('Channel'); 
  15.         $tb=$cate->order($tag['order'])->limit($tag['limit'])->select(); 
  16.         $str=''
  17.         for($i=0;$i<count($tb);$i++) 
  18.         { 
  19.           $c=str_replace(array("[filed:id]","[filed:name]"),array($tb[$i]['id'],$tb[$i]['name']),$content); 
  20.           $str.=$c
  21.         } 
  22.        return $str
  23.     } 
  24. ?> 

html 調用方式:

  1. <tagLib name="nav" />  //必須在頭部進行引用否則會出錯 
  2. <html> 
  3. <head> 
  4.  <title>tablist</title> 
  5. </head> 
  6. <body> 
  7.     <div class="nav"> 
  8.      <ul> 
  9.        <li>首頁</li> 
  10.        <nav:nav limit='4' order='id asc'> 
  11.          <li><a href="[filed:id]">[filed:name]</a></li> 
  12.        </nav:nav> 
  13.      </ul> 
  14.   </div> 
  15.  </body> 
  16. </html> 

配置文件

'APP_AUTOLOAD_PATH'=>'@.TagLib', //TagLib的位置   @.表示當前文件夾下

'TAGLIB_BUILD_IN'=>'Cx,Nav',  //Cx是thinkphp基礎類庫的名稱必須引用否則volist等標簽就無法使用,Nav是自己定義的標簽名稱

控制器:

  1. <?php 
  2. class IndexAction extends Action{ 
  3.     public function index() { 
  4.         $this->display(); 
  5.     } 
  6. ?> 

這樣在控制器中就不用寫很多的代碼咯,是不是很輕松?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 久久精品79国产精品 | 亚洲视频在线观看免费视频 | 日本不卡一区二区在线观看 | xxxxhdhdhdhd日本 | 日本成年网 | 中国av中文字幕 | 成人黄色短视频在线观看 | 亚洲四播房 | 欧美女优一区 | 日韩黄色免费观看 | 成人毛片免费在线 | 亚洲欧美不卡视频 | 中国女警察一级毛片视频 | 九九热在线视频免费观看 | 久草热久 | 一区二区三区四区高清视频 | 蜜桃久久一区二区三区 | 伊久在线| 91av在线免费观看 | 在线免费日本 | 久久精品视频1 | 久久精品国产清自在天天线 | 国产精品久久久久网站 | 成人免费福利 | 国产精品剧情一区二区三区 | 色综合欧美 | 国产精品6区 | 全黄裸片武则天一级第4季 九色p | 一级做a爰性色毛片免费1 | 午夜视频啊啊啊 | 一级在线免费观看视频 | 把娇妻调教成暴露狂 | 日本特级a一片免费观看 | 深夜视频福利 | 久久人人爽人人爽人人片av高清 | 91成人免费看片 | 久久亚洲精品久久国产一区二区 | 国产精品久久av | bt 自拍 另类 综合 欧美 | 美女毛片在线观看 | 日韩黄色成人 |