HTML的多参数的实例:在ThinkPHP列表标签

本文介绍了ThinkPHP HTML:在多参数列表标签解决方案,分享给你参考。具体分析如下:

这种变化是ThinkPHP 2版本和3版本ThinkPHP有效,未测试。

主要改性方法的_list文件 / / /认为ThinkPHP库/模板/组件/ tablibhtml.class.php

新内容注释的代码部分是新添加的。

主要通过分裂一些参数(自动替换)

复制代码如下:公共功能_list($ ATTR)

{

标签=美元美元-> parsexmlattr($属性,'list);

美元美元的标签ID = { 'id' }; / / ID表

数据源标签{ 'datasource美元=美元}; / /列表的数据源volist名称

$ PK =空($标签{ 'pk ' })'id':标签{ 'pk美元'}; / /关键的名字,默认的是ID

风格=美元美元'style标签{ }; / /风格的名字

名称=!空($标签{ 'name' })$标签{ 'name' }:'vo '; / / VO对象名称

行动=美元美元{ } = =标签的整套'true'true:虚假; / /显示功能

$键=!空($标签{关键})真的假的;

排序标签{ } =美元大概= = 'false'false:真的;

美元美元'checkbox复选框=标签{ }; / /复选框显示

如果(isset($标签{ 'actionlist ' })){

$ ActionList =爆炸('',修剪($标签{ 'actionlist ' })); / /指定的功能列表

}

如果(substr($标签{ 'show},0,1){ = =‘$')

为显示=美元->物流->得到(substr($标签{ 'show},1));

{ }人

显示标签{ 'show美元=美元};

}

显示=爆炸(,显示);列表显示字段列表

列/计算表的数目

$柱=计数($显示);

如果(!空(美元)$柱+复选框);

如果(!空(美元)$柱+行动);

如果(!空(美元)$柱+键);

显示/开始

parsestr美元= ;

parsestr美元=;

parsestr美元=;

parsestr美元=;

要显示的字段列表

字段=数组();

foreach(美元为美元值){

字段=爆炸(:,$ $);

}

如果(!空($复选框)真正的' = = strtolower($复选框)){ / /如果指定要显示的列的复选框

parsestr美元。=;

}

如果(!空($)){

parsestr美元=不;

}

foreach($等领域{ / 美元)/显示指定的字段

美元财产=爆炸(|,$场{ 0 });

$ showName =爆炸(|,$场{ 1 });

如果(isset($ showName { 1 })){

parsestr美元=;

{ }人

parsestr美元=;

}

$ showName { 2 } = isset($ showName { 2 })$ showName { 2 }:$ showName { 0 };

如果($排序){

parsestr美元= ''。$ showName { 0 }。;

其他{ }

parsestr美元= $ showName { 0 }。;

}

}

如果(空)({ action){!)如果指定列的显示操作函数

parsestr美元=经营者;

}

parsestr美元=;

parsestr美元< TR类= 行; / /鼠标特定的方法定义在js颜色变化支持单位

如果(!空($复选框){

parsestr美元- 'onmouseover =在(事件)onmouseout=出来(事件)onclick=变化(事件);

}

parsestr美元->;

如果(!空($复选框))如果复选框显示在每行的开头显示复选框

parsestr美元=;

}

如果(!空($)){

parsestr美元={ }为我;

}

foreach($等领域美元){

显示列表字段定义

parsestr美元=;

如果(!空($字段{ 2 }){

支持列表字段链接功能的JS函数实现方法

关于美元的爆炸(|,美元场{ 2 });

如果(计数($ href)> 1){

指定字段/链接的值。

支持多个字段传输

$array =爆炸(^,$ href { 1 });

如果(计数(数组)> 1){

foreach(数组$美元){

{ } = $温度{ $。$名'。1美元| addslashes };

}

parsestr美元=;

其他{ }

parsestr美元=;

}

{ }人

如果默认值不是指定的数字。

parsestr美元=;

}

}

如果(strpos($场{ 0 },^ ')){

属性=爆炸({,$字段{ 0 });

foreach(美元财产$ P){

$单位=爆炸(|,P);

如果(计数(单位)> 1){

parsestr美元={ $。$名'。为单位{ 0 }。|'。$单位{ 1 }};

{ }人

parsestr美元={ $。$名'。}。为P.;

}

}

其他{ }

美元财产=爆炸(|,$场{ 0 });

如果(计数(属性)> 1){

转换,传递多个参数

美元的财产{ 1 } = str_replace(' - ',',',为财产{ 1 }); / /这里的新内容

parsestr美元={ $。$名。'。美元财产{ 0 }。|。美元财产{ 1 }};

{ }人

parsestr美元={ $。$名'。$场{ 0 }};

}

}

如果(!空($字段{ 2 }){

parsestr美元=;

}

parsestr美元=;

}

如果(!空($)){显示操作

如果(!空($ ActionList { 0 })){指定项 / /显示功能

parsestr美元=;

foreach($ ActionList达Val){

javascript的应用

如果(strpos($ Val,':')){

$ =爆炸(,$ $);

如果(计数($)> 2){

parsestr美元= ''。$ { 1 }。;

{ }人

parsestr美元= ''。$ { 1 }。;

}

其他{ }

php函数的应用

$array =爆炸(|,$ Val);

如果(计数(数组)> 2){

parsestr美元= ''。数组{ 2 }。;

其他{ }

转换,传递多个参数

val = str_replace美元(‘-',',',$ Val); / /这里的新内容

parsestr美元={ $。$名'。}美元价值;

}

}

}

parsestr美元=;

/ /回声parsestr美元;

退出();

}

}

parsestr美元=;

parsestr美元=NN;

Return $parseStr;

}

模板调用演示:

复制代码代码如下所示:

方法gettaskcategory传递3个参数序列:

为用户'task_category'} {

为用户'exe_user'} {

为用户{ 'id' }

Method printAccept passes 3 parameter sequences:

为用户'status'} {

为用户'exe_user'} {

为用户{ 'id' }

其中:

复制代码代码如下:task_category | gettaskcategory = { }——'exe_user的用户名用户名{ 'id' }:



复制代码代码如下:状态| printaccept = { }——'exe_user的用户名用户名{ 'id' },task_track:跟踪是一个演示传递多个参数

希望这篇文章能帮助你在ThinkPHP框架程序设计。