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

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

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

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

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

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

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

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

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

三、操作步驟:

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

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

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

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

具體代碼如下:

public function _category($attr,$content)
{
//把標(biāo)簽的所有屬性解析到$tag數(shù)組里面
$tag = $this->parseXmlAttr($attr,'category');
//得到標(biāo)簽里面的屬性
$parentid= $tag['parentid'];
//定義頁面解析的變量
$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ù)庫查詢語句 這里直接用了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.頁面上的引用:

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

這樣一個標(biāo)簽就做好了?。【涂梢运Φ裟莻€volist在頁面上動態(tài)輸出我們想要的東西了!

相關(guān)文章

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

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

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

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

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

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

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

    CentOS 安裝 PHP5.5+Redis+XDebug+Nginx+MySQL全紀錄

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

嘉善县| 平原县| 河西区| 东光县| 上虞市| 昌乐县| 商丘市| 广元市| 正镶白旗| 钦州市| 汉川市| 东至县| 祁东县| 涟水县| 米易县| 安国市| 涡阳县| 黄平县| 屏边| 内江市| 香港 | 双城市| 柏乡县| 奉化市| 安远县| 尉氏县| 沈丘县| 什邡市| 灵璧县| 柏乡县| 黔江区| 兰考县| 无为县| 红桥区| 富蕴县| 瑞丽市| 天门市| 柘城县| 新疆| 太保市| 霍林郭勒市|