Данные по умолчанию для представления в codeigniter - PullRequest
1 голос
/ 24 августа 2010

Когда мы загружаем представление, мы можем передать ему некоторые динамические данные.

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

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

Какое простейшее решение доступно без использования каких-либо расширений, таких как модульное расширение / разделение?

Большое спасибо всем вам.

Ответы [ 3 ]

5 голосов
/ 24 августа 2010

Используйте Базовые контроллеры для получения глобальных данных в ваших представлениях.

3 голосов
/ 28 августа 2010

Правильно, что вы на самом деле не хотите вызывать модель из представления (для этого и нужен контроллер).

Проверка данных в контроллере ;если нужных вам данных нет, вызовите Модель для «данных по умолчанию» (пока вы находитесь в Контроллере).Затем передайте данные в представление.

2 голосов
/ 27 августа 2010

Что-то, с чем я выступил, надеюсь, это поможет.

class Test extends Controller
{
    private $data = array();

    public function __construct()
    {
        parent::__constuct();

        // Load the default data
        $this->load->model('test_model');

        $this->data = $this->test_model->get_default_data();
    }

    public function test()
    {
        $this->load->model('test_model');
        $data = $this->test_model->get_another_data();

        if ( ! empty($data)) {
            $this->data = $data;
        }

        $this->load->view('test_view', $this->data);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...