Заголовок и элементы данных в одной строке, используя set_template в CodeIgniter

0

Я использую класс таблицы HTML CodeIgniter и пытаюсь создать шаблон таблицы. Пример, приведенный в документации, следующий:

$tmpl = array (
                'table_open'          => '<table border="0" cellpadding="4" cellspacing="0">',

                'heading_row_start'   => '<tr>',
                'heading_row_end'     => '</tr>',
                'heading_cell_start'  => '<th>',
                'heading_cell_end'    => '</th>',

                'row_start'           => '<tr>',
                'row_end'             => '</tr>',
                'cell_start'          => '<td>',
                'cell_end'            => '</td>',

                'row_alt_start'       => '<tr>',
                'row_alt_end'         => '</tr>',
                'cell_alt_start'      => '<td>',
                'cell_alt_end'        => '</td>',

                'table_close'         => '</table>'
          );

$this->table->set_template($tmpl);

Когда я применяю этот шаблон к моему запросу, это результат HTML:

<table data-hide-table="false" data-orientation="vertical" class="chart">
<thead>
<tr>
<th></th><th>Rate per SF</th></tr>
</thead>
<tbody>
<tr>
<td>2008</td><td>48</td></tr>
<tr>
<td>2009</td><td>32</td></tr>
<tr>
<td>2010</td><td>32</td></tr>
<tr>
<td>2011</td><td>32</td></tr>
<tr>
<td>2012</td><td>40</td></tr>
<tr>
<td>2013</td><td>41</td></tr>
</tbody>
</table>

Проблема в этом примере состоит в том, что каждая строка содержит два элемента данных (<td></td><td></td>) вместо одного элемента заголовка и одного элемента данных (<th></th><td></td>).

Как изменить шаблон так, чтобы в итоговой таблице у меня был один элемент заголовка и один элемент данных (<th></th><td></td>) в каждой строке:

<table data-hide-table="false" data-orientation="vertical" class="chart">
<thead>
<tr>
<th></th><th>Rate per SF</th></tr>
</thead>
<tbody>
<tr>
<th>2008</th><td>48</td></tr>
<tr>
<th>2009</th><td>32</td></tr>
<tr>
<th>2010</th><td>32</td></tr>
<tr>
<th>2011</th><td>32</td></tr>
<tr>
<th>2012</th><td>40</td></tr>
<tr>
<th>2013</th><td>41</td></tr>
</tbody>
</table>

Благодарю.

Теги:
codeigniter

1 ответ

1
Лучший ответ

Ответ: нет, вы не можете изменить шаблон, как это, но да, вы можете где-то достичь такого рода функциональности

Если вы видите http://ellislab.com/codeigniter/user-guide/libraries/table.html, есть возможность добавить вызываемую функцию, поэтому я предлагаю вам создать таблицу, чтобы сделать некоторый флаг, если вы используете эту таблицу генерируя, чем создайте вспомогательную функцию и добавьте ее в функцию таблицы, чем до создания таблицы, флаг для определения первой ячейки может использовать cookie. Чем от помощника на каждые 1, 3.... (2n + 1) добавить пользовательский тег html или стиль. Затем после создания таблицы удалите все флаги.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню