Codeigniter - доступ к переменным из массива, переданного на страницу - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть контроллер с функцией индекса следующим образом:

function index() 
{ 
    $this->load->model('products_model');
    $data['product'] = $this->products_model->get(3); // 3 = product id
    $data['product_no'] = 3;
    $data['main_content'] = 'product_view';
    //print_r($data['products']);
    $this->load->view('includes/template', $data);
}

Это функция get в файле products_model

function get($id)
{
    $results = $this->db->get_where('products', array('id' => $id))->result();
    //get the first item
    $result = $results[0];
    return $result; 
}

Таблица products содержит поля, такие как имя, цена и т. Д. Подскажите, пожалуйста, как вывести переменные из $ data ['product'] после того, как они будут переданы в представление? Я пробовал так много вещей, но ничего не работает, хотя print_r (закомментированный) показывает данные - они не передаются в представление. Я думал, что это может быть потому, что представление вызывает файл шаблона, который ссылается на переменную main_content:

Содержимое файла шаблона:

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

<?php $this->load->view($main_content); ?>

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

но я попытался создать файл с плоским видом и все еще не смог получить доступ к переменным.

Большое спасибо,

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

ваш массив $ data "разорван" на отдельные переменные в представлении.

print $product;
print $product_no;
print $main_content;
0 голосов
/ 07 апреля 2010

Обработка верхних и нижних колонтитулов таким способом - отстой и довольно быстро становится неуправляемым.

Попробуйте использовать мою библиотеку шаблонов , ваши данные будут переданы в product_view без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...