ThinkPHP标签的制作过程
本文阐述了用一个例子做ThinkPHP标签的方法,可用于对ThinkPHP的初学者还是开发者参考。一般来说,ThinkPHP默认标签解析器在库/模板/组件/ taglibcx.class(版本2.1位于ThinkPHP / lib /认为/模板/组件/ taglibcx。类。PHP),它定义了常用的标签,如volist PHP和其他常用的ThinkPHP。
这里我们在这个类中添加了一个标签解析。
1。标签的格式:
二、标签的作用:
循环输出parent id parentId列的
三。操作步骤:
1。添加到taglibcx.class私有财产:
类=阵列('attr= > 'parentid,水平= > 3)
在属性:嵌套层次的标签的属性值的标签
2。添加解析函数
解析原理的标签是通过读取XML文件得到相应的信息,然后拼凑成需要的PHP源代码,最后输出在页面通过回声。
具体代码如下:
公共功能_category(ATTR美元美元,内容)
{
对标签数组标签的所有属性分析
标签=美元美元-> parsexmlattr($属性,'category);
进入标签属性
元标签{ 'parentid ParentID =美元};
定义页面分析变量
结果=空(美元美元'result标签{ }){ }标签:美元'result'!定义数据查询结果存储变量
$键=!空($标签{关键}){ }:美元关键'标签'我';
为国防部= isset($标签{ 'mod ' }){ }:'mod美元标签2;
/ /把一个数据库查询在这里直接与categorymodel函数包好
为SQL = D('category ')- >;
为SQL = getcategorys(。$ parentId。);
将输出字符放在一起
parsestr美元=< PHP美元_result = '。$ SQL。';如果($ _result):$。$关键。= 0;;;
parsestr美元= 'foreach(_result美元美元美元美元关键= >的结果。):;
parsestr美元= + + $美元的关键。';MOD =(美元$。$关键。‘%'。$ MOD。');;
parsestr美元=美元含量;在类别标签内容 / /分析
parsestr美元=;
返回的parsestr;
}
CategoryModel getcategorys方法:
*
*根据parentId获取列信息
* $ ParentID父亲身份
* $自它包含本身
* /
公共功能getcategorys($ ParentID,自美元= 0)
{
intval ParentID =美元($ ParentID);
美元类=美元->哪里(阵列('parentid= > $ ParentID,'ismenu= > 1))->命令('listorder ASC的)->选择();
包含它自己的/
如果(合同)
{
categorys2美元=美元->哪里(阵列('id' = > $ ParentID,'ismenu= > 1))->(1)->选择限制();
类= array_merge美元(美元美元的范畴,categorys2);
}
返回的范畴;
}
关于3的参考文献。页:
这样的标签已经完成了!!你可以摆脱的volist动态输出我们想要的页面上!