Yii2:如何在一个TR内添加多个TD行?

时间:2017-12-18 13:17:38

标签: yii2

我需要实现的是在一个td中添加多个tr行。 F.e:

<tr>
<td="0"> row1 </td>
<td="1"> row2 </td>
<td="2"> row3 </td>
</tr>

我怎样才能实现它?我是这样尝试的:

 $td = Html::tag('td data-col-seq', [
    '0' => 'test' 
    '1' => 'test2'
 ]);

 return Html::tag('tr', $td);

但我收到Array to string conversion错误,除此之外,我还没有得到values。我得到的只是<td data-col-seq 0="test"> NO VALUE HERE </td>

我希望你能理解这个问题。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

解决问题的一种方法如下

    $cols = '';
    $row = '';
    $data = [0, 1, 2];  //just a sample here

    // create all td tags at first based on your sample  
    foreach ($data as $value) {
        $cols .= Html::tag('td', 'rows' . $value, [
            'value' => $value,
        ]);
    }

    $row .= Html::tag('tr', $cols);  //then create a tr tag to include all td tags
    var_dump($row);

Html::tag函数的第一个参数是标记名称,第二个是您刚刚创建的标记内的内容,最后一个是附加到标记的attrs。

你遇到这个错误的原因是第二个参数需要是字符串类型,而你传递的数组应该是最后一个参数。愿你帮忙。

答案 1 :(得分:0)

假设您需要一个带有row1 conttnet和data-col-seq作为属性的td标记,您应该使用

  $options = ['data-col-seq' => 'your-values'];
  echo Html::tag('a', 'row1', $options);

有几个值..使用循环构建适当的代码 请参阅http://www.yiiframework.com/doc-2.0/yii-helpers-html.html以获取参考,并http://www.yiiframework.com/doc-2.0/guide-helper-html.html获取指南