Я пытался реализовать решение, указанное по адресу:
Ошибка при попытке загрузить представление в my_controller
Не знаю почему, но Aptana указывает на синтаксическую ошибку в моей строке:
parent::load->view('common/header_out');
... который переводчик поддерживает, когда я выполняю: "неожиданный T_OBJECT_OPERATOR"
РЕДАКТИРОВАТЬ: Ранее я пытался использовать:
$this->load->view('common/header_out');
..., которая вызвала следующие ошибки:
Предупреждение: include (application / errors / error_php.php) [function.include]: не удалось открыть поток: нет такого файла или> каталога в /home/uom2/www/system/core/Exceptions.php в строке 167
Предупреждение: include () [function.include]: не удалось открыть «application / errors / error_php.php» для включения> (include_path = '.: / Usr / local / lib / php: / usr / local / php5 / lib / pear ') в /home/uom2/www/system/core/Exceptions.php в> строке 167
Я использую CI 2.0.
Буду признателен за любую помощь.
приложение / ядро / Uom_Controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Uom_Controller extends CI_Controller
{
public $data = array(); // Array to store data - passed to views.
protected $view_path = null; // Here to overide the view path if n
public function __construct()
{
parent::__construct();
}
protected function check_session()
{
//Here goes your function
}
protected function render() {
$data['page_title'] = 'Your title';
$data['page_title'] = 'Your title';
parent::load->view('common/header_out');
parent::load->->view('home/home', $data);
parent::load->->view('common/foot');
echo "view rendered: ".date('Y-m-d H:i:s');
}
}
Контроллеры / дома / home.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends Uom_Controller {
function __construct()
{
parent::__construct();
// Set the view path manually for this method.
$this->view_path = 'home/home.php';
}
function __destruct() {
$this->render();
}
public function index()
{
echo "home updated";
}
public function out()
{
echo "logout";
echo "<br>";
echo $this->view_path;
echo "<br>";
}
}
очевидно, что намерение похоже на сообщение SO в верхней части этого сообщения: я хочу $ this-> render (); чтобы вызывать и отображать заголовок, тело и нижний колонтитул моей страницы.
(Моя следующая задача - добавить проверку подлинности в этот шаблон MY_Controller, поэтому я надеюсь, что любое решение, работающее для вызова представлений, также работает на моделях.
Спасибо всем, и я действительно потратил часы, пытаясь найти решение этой проблемы, снова обращаясь к SO.