Intereting Posts
Laravel 4 отправляет запрос от контроллера на внешний URL с данными Может ли FPDF / FPDI использовать PDF в альбомном формате в качестве шаблона? как сохранить загруженное изображение в базе данных с помощью php «Класс XXX не является допустимым сущностью или отображенным суперклассом» после перемещения класса в файловой системе URL-адрес URL-адреса PHP от /buildimg.php?1=2816 до /picture_2816.png? Ввод команды в фоновом режиме и получение PID через PHP exec ()? использование jquery для публикации данных в zend framework скрипт для перезаписи .htaccess файл работает на wamp, но не на общем хосте в сети MySQLi подготовил оператор, возвращающий false WooCommerce 3.0 – скрыть информацию об изменении в заголовке продукта Приложение сообщений для клиентского сервера чистый URL-адрес, используя mod_rewirte Как найти идентификатор временной зоны с IP-адреса / названия страны в PHP? Ошибка: mysqli :: real_connect (): (08004/1040): Слишком много соединений Почему я не могу использовать индекс массива для возвращаемого значения функции?

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 ?

Спасибо вам, ребята

Внутри вашего контроллера,

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

до вашего просмотра.

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

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

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

 $nestedView['otherData']; 

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

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

И внутри вашего файла top_menu у вас должно быть $otherData содержащее «тестирование».

Решение кастиса

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

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

,

 //In your view echo $whatever //outputs 'someValue'; //pass $whatever on $this->load->view('some/view', Array('whatever' => $whatever)); 

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

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

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

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

$ данных

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

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

 echo $this->view('subview', get_defined_vars()['_ci_data']['_ci_vars'])