国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

thinkphp中html-list標(biāo)簽傳遞多個(gè)參數(shù)實(shí)例

2020-03-22 18:06:38
字體:
供稿:網(wǎng)友
本文實(shí)例講述了關(guān)于thinkphp中html:list標(biāo)簽傳多個(gè)參數(shù)問題解決辦法,分享給大家供大家參考。具體分析如下:此改動 針對thinkphp 2.0 版本有效,thinkphp 3.0 版本 未測試.
主要修改這個(gè)文件 /Thinkphp/Lib/Think/Template/Taglib/TabLibHtml.class.php 的 _list 方法注釋有新增內(nèi)容的代碼部分是新增加的
主要通過 -- 分割多個(gè)參數(shù)(會自動替換為,)復(fù)制代碼 代碼如下:public function _list($attr)
{
$tag = $this- parseXmlAttr($attr,'list');
$id = $tag['id']; //表格ID
$datasource = $tag['datasource']; //列表顯示的數(shù)據(jù)源VoList名稱
$pk = empty($tag['pk']) 'id':$tag['pk'];//主鍵名,默認(rèn)為id
$style = $tag['style']; //樣式名
$name = !empty($tag['name']) $tag['name']:'vo'; //Vo對象名
$action = $tag['action']=='true' true:false; //是否顯示功能操作
$key = !empty($tag['key']) true:false;
$sort = $tag['sort']=='false' false:true;
$checkbox = $tag['checkbox']; //是否顯示Checkbox
if(isset($tag['actionlist'])) {
$actionlist = explode(',',trim($tag['actionlist'])); //指定功能列表
}
if(substr($tag['show'],0,1)=='$') {
$show = $this- tpl- get(substr($tag['show'],1));
}else {
$show = $tag['show'];
}
$show = explode(',',$show); //列表顯示字段列表
//計(jì)算表格的列數(shù)
$colNum = count($show);
if(!empty($checkbox)) $colNum++;
if(!empty($action)) $colNum++;
if(!empty($key)) $colNum++;
//顯示開始
$parseStr = " !-- Think 系統(tǒng)列表組件開始 --
$parseStr .= ' table id="'.$id.'" class="'.$style.'" cellpadding=0 cellspacing=0
$parseStr .= ' tr td height="5" colspan="'.$colNum.'" /td /tr
$parseStr .= ' tr
//列表需要顯示的字段
$fields = array();
foreach($show as $val) {
$fields[] = explode(':',$val);
}
if(!empty($checkbox) && 'true'==strtolower($checkbox)) {//如果指定需要顯示checkbox列
$parseStr .=' th width="8" input type="checkbox" id="check" /th
}
if(!empty($key)) {
$parseStr .= ' th width="12" No /th
}
foreach($fields as $field) {//顯示指定的字段
$property = explode('|',$field[0]);
$showname = explode('|',$field[1]);
if(isset($showname[1])) {
$parseStr .= ' th width="'.$showname[1].'"
}else {
$parseStr .= ' th
}
$showname[2] = isset($showname[2]) $showname[2]:$showname[0];
if($sort) {
$parseStr .= ' a xhref="javascript:sortBy(''.$property[0].'','{$sort}',''.ACTION_NAME.'')" title="按照'.$showname[2].'{$sortType} " '.$showname[0].' eq name="order" value="'.$property[0].'" img xsrc="/Public/images/{$sortImg}.gif" width="12" height="17" border="0" align="absmiddle" /eq /a /th
}else{
$parseStr .= $showname[0].' /th
}
}
if(!empty($action)) {//如果指定顯示操作功能列
$parseStr .= ' th 操作 /th
}
$parseStr .= ' /tr
$parseStr .= ' volist name="'.$datasource.'" id="'.$name.'" tr '; //支持鼠標(biāo)移動單元行顏色變化 具體方法在js中定義
if(!empty($checkbox)) {
$parseStr .= ' onmouseout="out(event)" ';
}
$parseStr .= '
if(!empty($checkbox)) {//如果需要顯示checkbox 則在每行開頭顯示checkbox
$parseStr .= ' td input type="checkbox" name="key" value="{$'.$name.'.'.$pk.'}" /td
}
if(!empty($key)) {
$parseStr .= ' td {$i} /td
}
foreach($fields as $field) {
//顯示定義的列表字段
$parseStr .= ' td
if(!empty($field[2])) {
// 支持列表字段鏈接功能 具體方法由JS函數(shù)實(shí)現(xiàn)
$href = explode('|',$field[2]);
if(count($href) 1) {
//指定鏈接傳的字段值
// 支持多個(gè)字段傳遞
$array = explode('^',$href[1]);
if(count($array) 1) {
foreach ($array as $a){
$temp[] = ''{$'.$name.'.'.$a.'|addslashes}'';
}
$parseStr .= ' a xhref="javascript:'.$href[0].'('.implode(',',$temp).')"
}else{
$parseStr .= ' a xhref="javascript:'.$href[0].'('{$'.$name.'.'.$href[1].'|addslashes}')"
}
}else {
//如果沒有指定默認(rèn)傳編號值
$parseStr .= ' a xhref="javascript:'.$field[2].'('{$'.$name.'.'.$pk.'|addslashes}')"
}
}
if(strpos($field[0],'^')) {
$property = explode('^',$field[0]);
foreach ($property as $p){
$unit = explode('|',$p);
if(count($unit) 1) {
$parseStr .= '{$'.$name.'.'.$unit[0].'|'.$unit[1].'} ';
}else {
$parseStr .= '{$'.$name.'.'.$p.'} ';
}
}
}else{
$property = explode('|',$field[0]);
if(count($property) 1) {
//轉(zhuǎn)換 -- 為 , 傳遞多個(gè)參數(shù)
$property[1] = str_replace('--',',',$property[1]);//此處為新增內(nèi)容
$parseStr .= '{$'.$name.'.'.$property[0].'|'.$property[1].'}';
}else {
$parseStr .= '{$'.$name.'.'.$field[0].'}';
}
}
if(!empty($field[2])) {
$parseStr .= ' /a
}
$parseStr .= ' /td
}
if(!empty($action)) {//顯示功能操作
if(!empty($actionlist[0])) {//顯示指定的功能項(xiàng)
$parseStr .= ' td
foreach($actionlist as $val) {
//應(yīng)用 javascript
if(strpos($val,':')) {
$a = explode(':',$val);
if(count($a) 2) {
$parseStr .= ' a xhref="javascript:'.$a[0].'('{$'.$name.'.'.$a[2].'}')" '.$a[1].' /a ';
}else {
$parseStr .= ' a xhref="javascript:'.$a[0].'('{$'.$name.'.'.$pk.'}')" '.$a[1].' /a ';
}
}else{
//應(yīng)用 php 函數(shù)
$array = explode('|',$val);
if(count($array) 2) {
$parseStr .= ' a xhref="javascript:'.$array[1].'('{$'.$name.'.'.$array[0].'}')" '.$array[2].' /a ';
}else{
//轉(zhuǎn)換 -- 為 , 傳遞多個(gè)參數(shù)
$val = str_replace('--',',',$val);//此處為新增內(nèi)容
$parseStr .= ' {$'.$name.'.'.$val.'}';
}
}
}
$parseStr .= ' /td
//echo $parseStr;
//exit();
}
}
$parseStr .= ' /tr /volist tr td height="5" colspan="'.$colNum.'" /td /tr /table
$parseStr .= "n !-- Think 系統(tǒng)列表組件結(jié)束 --
return $parseStr;
}模版調(diào)用演示:復(fù)制代碼 代碼如下: html:list id="checkList" name="user" checkbox="true" action="true" datasource="list" show="id:編號,task_title:任務(wù)標(biāo)題:edit,task_type|getTaskType:任務(wù)類型,task_category|getTaskCategory=$user['exe_user']--$user['id']:所屬欄目,hope_time|toDate='Y-m-d H#i':期望完成時(shí)間,process_rate|printRate:當(dāng)前進(jìn)度,exe_user|getUserName:處理人,status|getTaskStatus:狀態(tài)" actionlist="status|printAccept=$user['exe_user']--$user['id'],task_track:跟蹤" / 方法 getTaskCategory 傳遞了3個(gè)參數(shù) 順序是:
$user['task_category']
$user['exe_user']
$user['id']方法 printAccept 傳遞了3個(gè)參數(shù) 順序是:
$user['status']
$user['exe_user']
$user['id']其中:
復(fù)制代碼 代碼如下:task_category|getTaskCategory=$user['exe_user']--$user['id']:

復(fù)制代碼 代碼如下:status|printAccept=$user['exe_user']--$user['id'],task_track:跟蹤為 傳遞多個(gè)參數(shù)的演示希望本文所述對大家的ThinkPHP框架程序設(shè)計(jì)有所幫助。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 织金县| 蓬溪县| 德清县| 金门县| 宁蒗| 成武县| 马山县| 抚州市| 布尔津县| 彰化市| 崇左市| 社旗县| 南木林县| 甘肃省| 沙坪坝区| 大兴区| 玉树县| 旅游| 景谷| 闵行区| 通渭县| 荃湾区| 旬邑县| 如东县| 县级市| 金溪县| 富民县| 天台县| 子长县| 泸水县| 昌图县| 仁寿县| 永川市| 卫辉市| 南城县| 常熟市| 北流市| 沁源县| 河源市| 凤山县| 南平市|