Table of Contents
thinkphp中html:list标签传递多个参数实例,thinkphplist
html:link传递多个参数
Home php教程 php手册 thinkphp中html:list标签传递多个参数实例,thinkphplist

thinkphp中html:list标签传递多个参数实例,thinkphplist

Jun 13, 2016 am 09:22 AM
thinkphp transfer parameter Label Hyperlink

thinkphp中html:list标签传递多个参数实例,thinkphplist

本文实例讲述了关于thinkphp中html:list标签传多个参数问题解决办法,分享给大家供大家参考。具体分析如下:

此改动 针对thinkphp 2.0 版本有效,thinkphp 3.0 版本 未测试.
主要修改这个文件 /Thinkphp/Lib/Think/Template/Taglib/TabLibHtml.class.php 的 _list 方法

注释有新增内容的代码部分是新增加的
主要通过 -- 分割多个参数(会自动替换为,)

复制代码 代码如下:

public function _list($attr)
{
        $tag        = $this->parseXmlAttr($attr,'list');
        $id         = $tag['id'];                       //表格ID
        $datasource = $tag['datasource'];               //列表显示的数据源VoList名称
        $pk         = empty($tag['pk'])?'id':$tag['pk'];//主键名,默认为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);                //列表显示字段列表
        //计算表格的列数
        $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'==strtolower($checkbox)) {//如果指定需要显示checkbox列
            $parseStr .='';
        }
        if(!empty($key)) {
            $parseStr .= '';
        }
        foreach($fields as $field) {//显示指定的字段
            $property = explode('|',$field[0]);
            $showname = explode('|',$field[1]);
            if(isset($showname[1])) {
                $parseStr .= '';
            }else{
                $parseStr .= $showname[0].'';
            }
        }
        if(!empty($action)) {//如果指定显示操作功能列
            $parseStr .= '';
        }
        $parseStr .= '';
        $parseStr .= '         if(!empty($checkbox)) {
            $parseStr .= 'onmouseover="over(event)" onmouseout="out(event)" onclick="change(event)" ';
        }
        $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 .= '
No';
            }else {
                $parseStr .= '
';
            }
            $showname[2] = isset($showname[2])?$showname[2]:$showname[0];
            if($sort) {
                $parseStr .= ''.$showname[0].'thinkphp中html:list标签传递多个参数实例,thinkphplist
操作
{$i}';
            if(!empty($field[2])) {
                // 支持列表字段链接功能 具体方法由JS函数实现
                $href = explode('|',$field[2]);
                if(count($href)>1) {
                    //指定链接传的字段值
                    // 支持多个字段传递
                    $array = explode('^',$href[1]);
                    if(count($array)>1) {
                        foreach ($array as $a){
                            $temp[] =  ''{$'.$name.'.'.$a.'|addslashes}'';
                        }
                        $parseStr .= '';
                    }else{
                        $parseStr .= '
';
                    }
                }else {
                    //如果没有指定默认传编号值
                    $parseStr .= '
';
                }
            }
            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) {
                    //转换 -- 为 , 传递多个参数
                    $property[1] = str_replace('--',',',$property[1]);//此处为新增内容
                    $parseStr .= '{$'.$name.'.'.$property[0].'|'.$property[1].'}';
                }else {
                    $parseStr .= '{$'.$name.'.'.$field[0].'}';
                }
            }
            if(!empty($field[2])) {
                $parseStr .= '
';
            }
            $parseStr .= '
';
                foreach($actionlist as $val) {
                     //应用 javascript
     if(strpos($val,':')) {
      $a = explode(':',$val);
      if(count($a)>2) {
                            $parseStr .= ''.$a[1].' ';
      }else {
       $parseStr .= ''.$a[1].' ';
      }
     }else{
                        //应用 php 函数
      $array = explode('|',$val);
      if(count($array)>2) {
       $parseStr .= ' '.$array[2].' ';
      }else{
                            //转换 -- 为 , 传递多个参数
                            $val = str_replace('--',',',$val);//此处为新增内容
       $parseStr .= ' {$'.$name.'.'.$val.'} ';
      }
     }
                }
                $parseStr .= '
';
        $parseStr .= "nn";
        return $parseStr;
}

模版调用演示:

复制代码 代码如下:

方法 getTaskCategory 传递了3个参数 顺序是:
$user['task_category']
$user['exe_user']
$user['id']

方法 printAccept 传递了3个参数 顺序是:
$user['status']
$user['exe_user']
$user['id']

其中:

复制代码 代码如下:

task_category|getTaskCategory=$user['exe_user']--$user['id']:



复制代码 代码如下:

status|printAccept=$user['exe_user']--$user['id'],task_track:跟踪

为 传递多个参数的演示

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

html:link传递多个参数

如果所传的参数确实有值的话应该是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
 

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solve the problem that hyperlinks cannot be opened Solve the problem that hyperlinks cannot be opened Feb 18, 2024 am 09:57 AM

How to solve the problem that hyperlinks cannot be opened. With the rapid development of the Internet, hyperlinks have become an indispensable part of our daily lives. We often see and use hyperlinks on various platforms such as web pages, emails, and social media. However, sometimes we may encounter problems with hyperlinks not opening, which makes us confused and frustrated. In this article, we will discuss the reasons why hyperlinks cannot be opened and their solutions, hoping to help you solve this problem. First, let us understand the possible reasons why hyperlinks cannot be opened. The following are some common

How to run thinkphp project How to run thinkphp project Apr 09, 2024 pm 05:33 PM

To run the ThinkPHP project, you need to: install Composer; use Composer to create the project; enter the project directory and execute php bin/console serve; visit http://localhost:8000 to view the welcome page.

What should I do if WPS cannot open a hyperlink? Solution to WPS hyperlink not opening What should I do if WPS cannot open a hyperlink? Solution to WPS hyperlink not opening Mar 13, 2024 pm 08:40 PM

When many of our friends use WPS to edit content, they sometimes add hyperlinks to specific text. Recently, some friends have reported that WPS hyperlinks cannot be opened and cannot be clicked to access after using many methods. About this How to solve the problem? In this software tutorial, the editor will share the specific solutions, hoping to help the majority of users. Solution to WPS hyperlink not opening: Method 1: Move the mouse over the hyperlink to see if it becomes clickable. 1. Open the software, click "File" in the upper left corner of the page, and select "Options" in the menu below. 2. After entering the new interface, click "Edit&rdq" on the left

Can't open hyperlink in word document Can't open hyperlink in word document Feb 18, 2024 pm 06:10 PM

In recent years, with the continuous development of network technology, our lives are inseparable from various digital tools and the Internet. When processing documents, especially in writing, we often use word documents. However, sometimes we may encounter a difficult problem, that is, the hyperlink in the word document cannot be opened. This issue will be discussed below. First of all, we need to make it clear that hyperlinks refer to links added in word documents to other documents, web pages, directories, bookmarks, etc. When we click on these links, I

There are several versions of thinkphp There are several versions of thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP has multiple versions designed for different PHP versions. Major versions include 3.2, 5.0, 5.1, and 6.0, while minor versions are used to fix bugs and provide new features. The latest stable version is ThinkPHP 6.0.16. When choosing a version, consider the PHP version, feature requirements, and community support. It is recommended to use the latest stable version for best performance and support.

How to run thinkphp How to run thinkphp Apr 09, 2024 pm 05:39 PM

Steps to run ThinkPHP Framework locally: Download and unzip ThinkPHP Framework to a local directory. Create a virtual host (optional) pointing to the ThinkPHP root directory. Configure database connection parameters. Start the web server. Initialize the ThinkPHP application. Access the ThinkPHP application URL and run it.

Why can't the hyperlink be opened? Why can't the hyperlink be opened? Feb 22, 2024 pm 03:33 PM

As one of the common elements in web pages, hyperlinks are often used to point to other web pages, files or specific locations. However, sometimes we encounter a situation where a hyperlink cannot be opened, which can be caused by a number of reasons. First, the failure to open a hyperlink may be caused by an incorrect link address. When creating a hyperlink, we need to make sure that the link's address is correct. If the address contains special characters or spaces, the link may not open. In addition, if the link address changes or the target file has been moved or deleted, the link will not be opened.

How to search for text across all tabs in Chrome and Edge How to search for text across all tabs in Chrome and Edge Feb 19, 2024 am 11:30 AM

This tutorial shows you how to find specific text or phrases on all open tabs in Chrome or Edge on Windows. Is there a way to do a text search on all open tabs in Chrome? Yes, you can use a free external web extension in Chrome to perform text searches on all open tabs without having to switch tabs manually. Some extensions like TabSearch and Ctrl-FPlus can help you achieve this easily. How to search text across all tabs in Google Chrome? Ctrl-FPlus is a free extension that makes it easy for users to search for a specific word, phrase or text across all tabs of their browser window. This expansion

See all articles