Должны быть разные мнения о том, как достичь вашей цели - и многое может зависеть от сложности вашей структуры и от того, как вы хотите организовать свои взгляды.
В самом простом случае вы можете использовать итерационные операторы PHP в своем представлении.Это обычно наблюдается в базовых примерах CI, когда контроллер передает данные в представление, а затем цикл foreach выводит элементы массива или свойства объекта в представлении.Некоторым может не нравиться использовать PHP в своих представлениях (например, если они совместно разрабатывают с дизайнерами, которые боятся синтаксиса PHP) или хотят использовать вместо этого заманчивый класс CI (или сторонних разработчиков).Однако, с вашей точки зрения, нет ничего плохого в PHP.Было отмечено, что PHP уже является языком шаблонов.
Другой подход, который работает для сложных представлений, заключается в использовании вложенных представлений или объединенных представлений.Вы можете загрузить представление, содержащее один итерационный оператор, который, в свою очередь, загружает представление с каждой итерацией.Или, наоборот, вы можете выполнить эту итерацию в своем контроллере и просто объединить выходные данные каждого представления, например, так:
// iterate through a DB result set to create a block of markup
foreach($result_set as $result)
{
$view_set .= $this->load->view('result_view_1',$result,TRUE); // the third argument allows us to return the output string.
}
// now determine what view will display this bock of markup
$this->load->view('results_page_A',array( 'view_set' => $view_set ));//
Преимущество этого подхода состоит в том, что ваши представления могут использоваться другими контроллерами или действиями.