2010-12-01 5 views
16

У меня есть контроллер и в том числе двух представлений из одной функции, как нижеCodeIgniter: передавать данные в целях, включенных в целях

$this->load->view('includes/header',$data); 
$this->load->view('view_destinations',$data); 

мнения о файле view_destinations.php включая файл меню PHP следующего

<? $this->load->view('includes/top_menu'); ?> 

Мой вопрос в том, как я могу передавать данные, которые получены от контроллера, к этому включенному top_menu.php?

Спасибо ребята

ответ

25

Внутри контроллера, есть

$data['nestedView']['otherData'] = 'testing'; 

, прежде чем ваш вид включает в себя.

Когда вы звоните

$this->load->view('view_destinations',$data); 

файл view_destinations будет иметь

$nestedView['otherData']; 

Что вы можете в этот момент, передать в вложенном файле представления.

<? $this->load->view('includes/top_menu', $nestedView); ?> 

А внутри файла top_menu вы должны иметь $otherData, содержащие 'тестирование.

1

Этот Codeigniter форум пост должен помочь вам;)

Вы можете сделать свои $ данные (пример) глобальные в контроллере, или передать просто нравится @castis упоминается из вашего зрения (только переменные с вашей точки зрения)

подробнее здесь: http://codeigniter.com/forums/viewthread/88335/

5

решение castis работает

однако, если вы хотите сделать это на более мелкозернистой уровне вы можете использовать:

//in your controller 
$data['whatever'] = 'someValue'; 

.

//In your view 
echo $whatever //outputs 'someValue'; 

//pass $whatever on 
$this->load->view('some/view', Array('whatever' => $whatever)); 
+0

Мне нравится этот метод лучше. Я понял, что это возможно, когда я сделал шаг назад и подумал о том, как CI обрабатывает переменные, переданные из контроллера. Хороший и чистый. – twistedpixel 2016-05-20 16:18:21

1

я видел в моих просматривать файлы, если я передаю данные от контроллера для просмотра и с этой целью включены вложенным просмотр файлов. нет необходимости передавать

$ данных

для вложенного зрения это уже доступно. вы можете напрямую обращаться к нему, в пределах вашего внутреннего вида.

0

попробовать Также это, если вы хотите каждый отдельный вид данных CodeIgniter в подвид:

echo $this->view('subview', get_defined_vars()['_ci_data']['_ci_vars']) 
Смежные вопросы