最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ThinkPHP標(biāo)簽制作教程

 更新時(shí)間:2014年07月10日 11:34:44   投稿:shichen2014  
這篇文章主要介紹了ThinkPHP標(biāo)簽制作方法,需要的朋友可以參考下

本文以實(shí)例講解了ThinkPHP標(biāo)簽的制作方法,對(duì)于ThinkPHP的初學(xué)者或者開(kāi)發(fā)人員都有一定的借鑒價(jià)值。

一般來(lái)說(shuō),ThinkPHP的默認(rèn)標(biāo)簽解析器在Lib/Template/TagLib/TagLibCx.class(2.1版本位于ThinkPHP/Lib/Think/Template/TagLib/TagLibCx.class.php)中,里面定義了常用的如volist php 等常用ThinkPHP的標(biāo)簽

這里我們就在這個(gè)類(lèi)中添加一個(gè)<category>的標(biāo)簽解析。
 
一、標(biāo)簽格式:

<category parentid='0' ><{$cat.catname}></category>

二、標(biāo)簽作用:

循環(huán)輸出父類(lèi)id是parentid的欄目

三、操作步驟:

1.在tagLibCx.class 的私有屬性中添加:

'category'=array('attr'=>'parentid',level=>3)

其中attr:標(biāo)簽的屬性 level標(biāo)簽的嵌套層次
 
2.添加解析函數(shù)

標(biāo)簽的解析原理就是通過(guò)讀取xml文件得到相應(yīng)的信息,然后再拼湊成所需要的php源代碼,最后通過(guò)echo 在頁(yè)面上輸出。

具體代碼如下:

public function _category($attr,$content)
{
//把標(biāo)簽的所有屬性解析到$tag數(shù)組里面
$tag = $this->parseXmlAttr($attr,'category');
//得到標(biāo)簽里面的屬性
$parentid= $tag['parentid'];
//定義頁(yè)面解析的變量
$result = !empty($tag['result'])?$tag['result']:'cat'; //定義數(shù)據(jù)查詢的結(jié)果存放變量
$key = !empty($tag['key'])?$tag['key']:'i';
$mod = isset($tag['mod'])?$tag['mod']:'2';
//拼湊數(shù)據(jù)庫(kù)查詢語(yǔ)句 這里直接用了CategoryModel封裝好的函數(shù)
$sql = "D('Category')->";
$sql .= "getCategorys(".$parentid.')';
//拼湊輸出字符
$parsestr = '<?php $_result='.$sql.'; if ($_result): $'.$key.'=0;';
$parsestr .= 'foreach($_result as $key=>$'.$result.'):';
$parsestr .= '++$'.$key.';$mod = ($'.$key.' % '.$mod.' );?>';
$parsestr .= $content;//解析在category標(biāo)簽中的內(nèi)容
$parsestr .= '<?php endforeach; endif;?>';
return $parsestr;
}

CategoryModel中的getCategorys方法:

/*
* 根據(jù)parentid得到欄目信息
* $parentid 父id
* $withSelf 是否包含自己
*/
public function getCategorys($parentid,$withSelf=0)
{
$parentid=intval($parentid);
$categorys=$this->where(array('parentid'=>$parentid,'ismenu'=>1))->order('listorder ASC')->select();
//包含自己
if($withSelf)
{
$categorys2=$this->where(array('id'=>$parentid,'ismenu'=>1))->limit(1)->select();
$category=array_merge($categorys,$categorys2);
}
return $categorys;
}

3.頁(yè)面上的引用:

<category parentid='0'>
<{$cat.catname}>
</category>

這樣一個(gè)標(biāo)簽就做好了!!就可以甩掉那個(gè)volist在頁(yè)面上動(dòng)態(tài)輸出我們想要的東西了!

相關(guān)文章

  • Laravel Reponse響應(yīng)客戶端示例詳解

    Laravel Reponse響應(yīng)客戶端示例詳解

    這篇文章主要給大家介紹了關(guān)于Laravel Reponse響應(yīng)客戶端的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    這篇文章主要介紹了Smarty模板變量與調(diào)節(jié)器,結(jié)合實(shí)例形式詳細(xì)分析了Smarty模板變量與調(diào)節(jié)器基本概念、分類(lèi)、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • yii權(quán)限控制的方法(三種方法)

    yii權(quán)限控制的方法(三種方法)

    這篇文章主要介紹了yii權(quán)限控制的方法,結(jié)合實(shí)例形式分析了通過(guò)accessControl,插件機(jī)混合模式三種方法實(shí)現(xiàn)權(quán)限控制的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-12-12
  • CentOS 安裝 PHP5.5+Redis+XDebug+Nginx+MySQL全紀(jì)錄

    CentOS 安裝 PHP5.5+Redis+XDebug+Nginx+MySQL全紀(jì)錄

    這篇文章主要介紹了在CentOS系統(tǒng)環(huán)境下安裝 PHP5.5+Redis+XDebug+Nginx+MySQL開(kāi)發(fā)環(huán)境的全過(guò)程,非常的細(xì)致詳盡,推薦給有需要的小伙伴們參考下吧。
    2015-03-03
  • thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例

    thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例

    這篇文章主要介紹了thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法,結(jié)合實(shí)例形式分析了thinkPHP5實(shí)現(xiàn)分頁(yè)查詢功能的相關(guān)控制器、模板等操作技巧,需要的朋友可以參考下
    2018-03-03
  • ThinkPHP中pathinfo的訪問(wèn)模式、路徑訪問(wèn)模式及URL重寫(xiě)總結(jié)

    ThinkPHP中pathinfo的訪問(wèn)模式、路徑訪問(wèn)模式及URL重寫(xiě)總結(jié)

    這篇文章主要介紹了ThinkPHP中pathinfo的訪問(wèn)模式、路徑訪問(wèn)模式及URL重寫(xiě)總結(jié),是ThinkPHP路由訪問(wèn)的基礎(chǔ)知識(shí),在ThinkPHP開(kāi)發(fā)中非常重要,需要的朋友可以參考下
    2014-08-08
  • Laravel5.1 框架控制器基礎(chǔ)用法實(shí)例分析

    Laravel5.1 框架控制器基礎(chǔ)用法實(shí)例分析

    這篇文章主要介紹了Laravel5.1 框架控制器基礎(chǔ)用法,結(jié)合實(shí)例形式分析了laravel5.1框架控制器的基本原理、定義與使用方法,需要的朋友可以參考下
    2020-01-01
  • Thinkphp使用Zxing擴(kuò)展庫(kù)解析二維碼內(nèi)容圖文講解

    Thinkphp使用Zxing擴(kuò)展庫(kù)解析二維碼內(nèi)容圖文講解

    這篇文章主要介紹了Thinkphp使用Zxing擴(kuò)展庫(kù)解析二維碼內(nèi)容圖文講解,圖文步驟講解的很清晰,有需要的同學(xué)可以跟著小編一起來(lái)學(xué)習(xí)下
    2021-03-03
  • PHP中如何判斷exec函數(shù)執(zhí)行成功?

    PHP中如何判斷exec函數(shù)執(zhí)行成功?

    在PHP日常開(kāi)發(fā)中有時(shí)候會(huì)要判斷exec函數(shù)是否執(zhí)行成功了呢?那如何判斷呢?下面跟著小編一起通過(guò)本文來(lái)學(xué)習(xí)學(xué)習(xí)。
    2016-08-08
  • PhpStorm連接服務(wù)器并實(shí)現(xiàn)自動(dòng)上傳功能

    PhpStorm連接服務(wù)器并實(shí)現(xiàn)自動(dòng)上傳功能

    這篇文章主要介紹了PhpStorm連接服務(wù)器并實(shí)現(xiàn)自動(dòng)上傳功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

崇明县| 晴隆县| 南雄市| 青海省| 抚顺市| 宜章县| 九龙县| 延津县| 朔州市| 五峰| 寿阳县| 永安市| 汾西县| 新化县| 乐陵市| 德阳市| 沿河| 新野县| 绥阳县| 淳安县| 新郑市| 岫岩| 锡林浩特市| 林周县| 两当县| 三河市| 吉木萨尔县| 洱源县| 安溪县| 尖扎县| 大足县| 东安县| 福安市| 台湾省| 平阳县| 衡水市| 安陆市| 昭平县| 永川市| 武汉市| 田阳县|