проблема боковой панели codeigniter - PullRequest
0 голосов
/ 04 сентября 2011

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

У меня есть такой файл шаблона:

<?php

$this->load->view('include/header');

$this->load->view($main_content);

$this->load->view('include/footer');

?>

Я делаю вспомогательный файл, как этот:

<?php


    //Getting all the Reviews and put them on the includes/header.php 
    function sidebar()
    {
        //Get the instance of the framework
        $CI=& get_instance();


        //Getting data from sidebarModel
        $CI->load->model('sidebar_model');
        $sidebarData = $CI->sidebar_model->getSidebarReviews();

        return $sidebarData;
    }

и затем я думаю, что мне нужно перейти к моему файлу header.php и сделать что-то там, чтобы получить данные в foreach, но я не знаю, как.

надеюсь, кто-нибудь может мне помочь

С наилучшими пожеланиями, Сим

Ответы [ 3 ]

2 голосов
/ 04 сентября 2011

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

Используйте $ this-> load-> vars ($ data_array) всякий раз, когда у вас есть какие-либо данные длябудет использоваться глобально в ваших представлениях.

Этот метод может использоваться несколько раз в любом месте вашего приложения и объединит любые добавленные вами данные.

Подробнее на http://codeigniter.com/user_guide/libraries/loader.html ($ this-> load-> вары)

2 голосов
/ 04 сентября 2011

Передача данных в виде массива

$data['mykey']='myvalye';
$this->load->view('include/header',$data);

Затем просто echo $mykey в представлении

Вы можете передать несколько данных, например $data['sidebar']='mysidebar';, если вы все еще не ясны, тогдаПрокомментируйте, пожалуйста, ниже.

Для получения дополнительной информации http://codeigniter.com/user_guide/general/views.html перейдите к «Добавление динамических данных в представление»

Правка. Сохраните помощника так же, как вы описали в вопросе.

Запишите это в контроллер

$data['sidebarRow']=sidebar();
$this->load->view('template',$data);

Запишите это в виде

echo $sidebarRow;
1 голос
/ 04 сентября 2011

Другой ответ будет состоять в том, чтобы автоматически загрузить помощника на боковой панели, а затем просто вызвать его в файле представления (заголовок?!)

$rows = sidebar();
foreach($rows as $row):
  // Do something with your sidebar row
endforeach;
...