2013-05-16 2 views
1

У меня есть заголовок, который содержит меню навигации для категорий.Вид здания с модели напрямую В Codeigniter?

это меню создается по данным из базы данных, и я создал модель, и это функция, которая возвращает список категорий в этой модели:

function categories_list() 
    { 
    $query=$this->db->get("produits_categories"); 
    if($query->num_rows()>0) 
    { 
     $i = 0; 
     foreach($query->result() as $rows) 
     { 
     $items[$i] = $rows->title; 
     $i++; 
     } 
     return $items; 

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

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

Нет ли другого способа передачи данных для просмотра напрямую?

ответ

0

Что касается части вашего вопроса, то можно передавать данные непосредственно на вид, как следует:

$data = 'Some Data You Create'; 
$this->load->view('view_in_question', $data); 

Это стандартный синтаксис для передачи данных к виду, который, как правило, легко сделать в CodeIgniter. Вот раздел руководства пользователя, который покрывает это более подробно:

http://ellislab.com/codeigniter/user-guide/general/views.html

2

Когда контроллер применяет вид, он может pass parameters (см. Раздел Добавление динамических данных в вид примерно на полпути вниз). Это правильный подход, который нужно предпринять на определенном уровне.

Философски, возможно, что меню полностью не зависит от отображаемой страницы. В этом случае может быть приемлемым, чтобы представление могло получать свои данные, а не каждый раз, когда контроллер делает это.

+0

, что я имею в виду, что меню категорий всегда имеет один и тот же код, и если я использовал переданные данные с помощью контроллера я должен позвонить этот контроллер каждый раз, когда я хочу отобразить заголовок, я хочу, чтобы в коде заголовка извлекались данные и отображались на нем с помощью цикла foreach без вызова контоллера –

+0

@AzerRtyu: Ваша формулировка предполагает, что, возможно, вы не понимаете роль контроллер. A [контроллер] (http://ellislab.com/codeigniter/user-guide/general/controllers.html) активируется загрузкой страницы и обычно вызывает модели и представления. Было бы необычно и очень сомнительно - для вызова вызова контроллера. – wallyk

Смежные вопросы