У меня есть CodeIgniter вопрос. Как передать массив из контроллера для просмотра? Вот мой код, который не работает:
контроллер:
$data_part13['header3_item'][] = array('title' => 'first image 1' , 'img' => 'https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQoshslL3aMNzG50708domqPSA4ouPjk_wA7jCpVRUH3k8zVdn9' ); $this->load->view('part_1_3', $data_part13);
и просмотр:
<div id="header3"> <div id="header3-inner"> <?php if (isset($header3_item)){ foreach ($header3_item as $key) { ?> <div class="header3-item"> <img alt="<?php echo($key->title); ?>" src="<?php echo($key->img); ?>"/> </div> <?php } } ?> </div> </div>
Вы сделали это правильно (kinda). Вы передали массив в представление, но ваша проблема заключалась в том, что вы использовали объект в представлении. Вместо этого вы должны сделать что-то вроде этого:
$data_part13['header3_item'][] = (object) array('title' => 'first image 1' , 'img' => 'https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQoshslL3aMNzG50708domqPSA4ouPjk_wA7jCpVRUH3k8zVdn9' ); $this->load->view('part_1_3', $data_part13);
Часть просмотра может оставаться неизменной.
Вы передаете его правильно, но вы не получаете доступ к нему правильно из представления. Вместо $key->title
вам нужно использовать $key['title']
;