thinkphp の html:list タグは複数のパラメーターを渡します。 thinkphplist_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:15:35
オリジナル
1015 人が閲覧しました

thinkphp の html:list タグは、複数のパラメーター インスタンス、 thinkphplist を渡します

この記事の例では、thinkphp の html:list タグで複数のパラメーターを渡す問題の解決策を説明し、参考のために皆さんと共有します。具体的な分析は次のとおりです:

この変更は thinkphp 2.0 バージョンに対して有効ですが、thinkphp 3.0 バージョンはテストされていません。
主にこのファイル /Thinkphp/Lib/Think/Template/Taglib/TabLibHtml.class.php の _list メソッドを修正します

新しい内容をコメントしたコード部分を新規追加
主に -- 複数のパラメータを分割します (自動的に に置き換えられます)

コードをコピーします コードは次のとおりです:
パブリック関数 _list($attr)
{
                                                                                                                                                                                    $ ID = $tag ['ID'] // テーブルID
; $ dataSource = $ tag ['dataSource'];                                                                                                                                                                                                                                                                                           $style = $tag['スタイル'] $ Name =! ($ tag ['name'])? $ Tag ['name']: 'vo'; $action = $tag['action']=='true'?true:false $キー $sort = $tag['sort']=='false'?false:true;
使用 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); //テーブル内の列数を計算します
$colNum = count($show);
If(!empty($checkbox)) $colNum++;
If(!empty($action)) $colNum++;
If(!empty($key)) $colNum++;
//表示開始
$parseStr = "n";
$parseStr .= '';
$parseStr .= '';
$parseStr .= '';
//リストに表示する必要があるフィールド
$fields = array();
foreach($show as $val) {
$fields[] =explode(':',$val);
}
If(!empty($checkbox) && 'true'==strto lower($checkbox)) {//指定した場合、チェックボックス列を表示する必要があります
$parseStr .=' ';
}
if(!empty($key)) {
            $parseStr .= '';
        }
        foreach($fields as $field) {//表示指定されたフィールド
            $property =explode('|',$field[0]);
            $showname =explode('|',$field[1]);
            if(isset($showname[1])) {
                $parseStr .= ' ';
            }その他{
                $parseStr .= $showname[0].'';
            }
        }
        if(!empty($action)) {//如果指定显表示操作機能列
            $parseStr .= '';
        }
        $parseStr .= '';
        $parseStr .= '         if(!empty($checkbox)) {
            $parseStr .= 'onmouseover="オーバー(イベント)" onmouseout="アウト(イベント)" onclick="変更(イベント)" ';
        }
        $parseStr .= '>';
        if(!empty($checkbox)) {//如果必要显表示checkbox则在每行开头显表示checkbox
            $parseStr .= '' ;
        }
        if(!empty($key)) {
            $parseStr .= '';
        }
        foreach($fields as $field) {
            //表示定義の列表フィールド
            $parseStr .= '';
}
If(!empty($action)) {//関数の操作を表示します
If(!empty($actionlist[0])) {//指定された機能項目を表示します
$parseStr .= '';
//echo $parseStr;
//exit();
}
}
$parseStr .= '< ;/tr><
いいえ';
            }その他{
                $parseStr .= '
';
            }
            $showname[2] = isset($showname[2])?$showname[2]:$showname[0];
            if($sort) {
                $parseStr .= ''.$showname[0].'
操作
{$i}';
            if(!empty($field[2])) {
                // 列表フィールド链接機能のサポート 具体的な方法は JS 関数数实现
                $href =explode('|',$field[2]);
                if(count($href)>1) {
                    //指定された文字列值
                    // 多字段传递
をサポートします                     $array =explode('^',$href[1]);
If(count($array)>1) {
foreach ($array を $a){
$temp[] = ''{$'.$name.'.'.$a.'|addslashes}'';
                                                                                                                    $parseStr .= '';
                                                                                                                                                  $parseStr .= '
';
}
}else {
//番号が指定されていない場合は、デフォルトのシリアル番号値が渡されます
$parseStr .= '
';
}
}
If(strpos($field[0],'^')) {
$property =explode('^',$field[0]);
foreach ($property as $p){
$unit =explode('|',$p);
If(カウント($ユニット)>1) {
$parseStr .= '{$'.$name.'.'.$unit[0].'|'.$unit[1].'} ';
} else {
$parseStr .= '{$'.$name.'.'.$p.'} ';
}
}
}その他{
$property =explode('|',$field[0]);
If(count($property)>1) {
//変換 -- の場合、複数のパラメータを渡します
$ プロパティ [1] = str_replace ('-', ',', $ プロパティ [1]); $parseStr .= '{$'.$name.'.'.$property[0].'|'.$property[1].'}';
}else {
$parseStr .= '{$'.$name.'.'.$field[0].'}';
}
}
If(!empty($field[2])) {
$parseStr .= '
';
}
$parseStr .= '
';
foreach($actionlist as $val) {
                                                                                                                                                If(strpos($val,':')) {
$a =explode(':',$val);
If(count($a)>2) {
$parseStr .= ''. $a[1].'
; }その他{
$parseStr .= ''.$a[ 1].';
; }
}その他{
//php関数を適用します
$array =explode('|',$val);
If(count($array)>2) {
$parseStr .= ' '. $array[2].' }その他{
//変換 -- の場合、複数のパラメータを渡します
                                                                                                                                                                                                                                                                                         $parseStr .= ' {$'.$name.'.'.$val.'} ';
}
}
}
$parseStr .= '
';
$parseStr .= "nn";
戻り $parseStr;
}


テンプレート呼び出しのデモ:

コードをコピーします

コードは次のとおりです:
getTaskCategory メソッドは 3 つのパラメーターを順番に渡します。
$user['task_category'] $user['exe_user']

$user['id']

printAccept メソッドは 3 つのパラメータを順番に渡します:
$user['ステータス']

$user['exe_user']

$user['id']

その中に:


コードをコピーします

コードは次のとおりです:task_category|getTaskCategory=$user['exe_user']--$user['id']:

コードをコピーします コードは次のとおりです:
status|printAccept=$user['exe_user']--$user['id'],task_track: Track
複数のパラメータを渡すデモンストレーション

この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。

html:リンクは複数のパラメータを渡します

渡されたパラメータに値がある場合、それは afaa.jsp?z=3&y=2&x=1 である必要があります。上記の場合、渡した値が空または "" であり、その後に表示されないことが原因である可能性があります。等号。属性の値。 &は複数のパラメータを渡すために使用される記号で、属性間の間隔の役割を果たします

HTML のハイパーリンクのアンカー タグ () を介してパラメーターを渡すにはどうすればよいですか?

この例のように、値を運ぶには疑問符とアンパサンドを使用します
アンカー タグ
?次の Second_id= パラメーターは、次のページで Second_id によって渡される値 (3002) を受け取るために使用できます
これが ASP 受信の書き方です
Second_id=Request.QueryString("second_id")
response.write(second_id)
次に3002と入力します
が表示されます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/903487.html技術記事 thinkphp の html:list タグが複数のパラメーター、thinkphplist を渡す例 この記事では、thinkphp の html:list タグで複数のパラメーターを渡す問題の解決策について説明し、参考のために共有します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!