3

CIは、次のような単純なテーブルtable->generate($data1, $data2, $data3)の形式でデータを出力します。

<table>
    <tr>
        <td>data1</td>
        <td>data2</td>
        <td>data3</td>
    </tr>
</table>

各セル内に複数の複雑なセルレイアウトが必要な場合はどう なりますか?$vars

$data1 = array('one', 'two', 'three'); 

そして私はこのようなものが欲しい:

<table>
    <tr>
        <td>
            <div class="caption">$data1[0]</div>
            <span class="span1">$data1[1] and here goes <strong>$data1[2]</strong></span>
        </td>
        <td>...</td>
        <td>...</td>
    </tr>
</table>

その部分をどのようにコーディングすればよいですか?

今のところtd、モデルでのコンテンツを生成してから、を呼び出しますgenerate()。ただし、これは、セルのHTMLがモデル内にあることを意味しますが、ビュー内に保持したいと思います。

4

2 に答える 2

2

私が提案するのは、td構造を生成するデータを渡すという見方をすることです。ビューの出力をキャプチャし、これをテーブルジェネレータに渡します。これにより、構造は異なりますが、ビュー内に構造が保持されます。

于 2012-05-22T00:57:49.857 に答える
0

ヘイルウッドの答えはそれを行うための最良の方法ではありません。htmlテーブルクラスには、add_rowメソッドにデータ要素があります。したがって、コードは次のようになります。

$row = array();
$row[] = array('data' => "<div class='caption'>{$data1[0]}</div><span class='span1'>{$data1[1]} and here goes <strong>{$data1[2]}</strong></span>");
$row[] = $col2;
$row[] = $col3;

$this->table->add_row($row)
echo $this->table->generate();

余談ですが、テーブルにはキャプションタグがあるため、テーブルにcaptionという名前のクラスがあると意味的に混乱します。

于 2017-01-17T21:53:46.157 に答える