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框架程序设计。