Я пытаюсь добавить некоторый стиль в таблицу в Code Igniter, я понимаю, что у CI есть встроенная библиотека таблиц, чтобы помочь в достижении этого. Однако я не уверен, как реализовать это в моей конкретной реализации. Я хочу включить эти встроенные функции:
$this->load->library('table');
$this->table->set_heading(array('Name', 'Color', 'Size'));
Как добавить эти функции в свою конкретную реализацию?
У меня есть следующий контроллер:
public function ecomma(){
$this->load->model('report_model');
$data ['query'] = $this->report_model->generate_ecomm_data_report();
$this->load->view('report_view', $data);
}
Мой взгляд:
<table>
<tbody>
<?php foreach($query as $row): ?>
<tr>
<td><?php echo $row->no_skus; ?></td>
<td><?php echo $row->brand; ?></td>
<td><?php echo $row->unique_models; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
Использование библиотеки таблиц довольно просто. В этом примере требуется, чтобы generate_ecomm_data_report()
возвращала результаты запроса. Например:
return $this->db->query('YOUR QUERY HERE');
контроллер:
public function ecomma(){
$this->load->library('table');
$this->load->model('report_model');
$query = $this->report_model->generate_ecomm_data_report();
Одним из преимуществ библиотеки таблиц является то, что стилизация довольно проста с использованием схемы шаблона класса. Например, чтобы добавить класс CSS в заголовок и строки.
контроллер продолжается:
$my_styles = array(
"thead_open" => "<thead class='my_style'>",
"row_start' => '<tr class='my-row-style'>");
$this->table->set_template($my_styles);
$this->table->set_heading(array('Name', 'Color', 'Size'));
$data[table] = $this->table->generate($query);
$this->load->view('report_view', $data);
}
Посмотреть:
<?php echo isset($table) ? $table : "No Data"; ?>
Результатом будет структура таблицы, подобная той, которую вы создаете в цикле foreach
- только у этого есть стиль.