Как сделать вид в Кохане - PullRequest
3 голосов
/ 15 апреля 2011

Я только начал использовать Kohana, и у меня возникли проблемы с отображением простого представления.Я создал следующий контроллер:

class Controller_Tracer extends Controller {

    public function action_index() {        
        $this->request->response = View::factory('tracer');
    }

}

Затем я создал это представление в application / views / tracer.php:

Tracer view

Теперь, когда я пытаюсь получить доступ к контроллеру через http://mydomain/index.php/tracer/index это просто отображение пустой страницы.Кажется, он находит и контроллер, и представление, поскольку при изменении имен появляются ошибки, но он просто ничего не отображает.

Кто-нибудь знает, в чем может быть проблема?

Ответы [ 2 ]

5 голосов
/ 15 апреля 2011

В Kohana 3.1 вместо этого вы бы использовали:

$this->response->body(View::factory('tracer'));

Быстрый просмотр документов для перехода с 3,0 на 3,1 .

4 голосов
/ 01 мая 2011

Помимо решения davgothic, вы также можете использовать Controller_Template. Использование Controller_Template упрощает управление шаблоном и контентом

class Controller_Tracer extends Controller {

    public $template = 'yourtemplatefile'; // HTML template inside views folder

    public function before() {

        parent::before();
        $this->template->title = 'My Website';

    }

    public function action_index() {        

        $this->template->content = 'Hello World';
    }

    public function action_trace() {
        $this->template->content = View::factory('tracer');
    }
}

Вид изнутри / yourtemplatefile.php:

<html>
    <head>
    <title><?php echo isset($title) ? $title : ''; ?></title>
    </head>

    <body>

       <h1><?php echo isset($title) ? $title : ''; ?></h1>

       <?php echo isset($content) ? $content : ''; ?>

    </body>
</html>

Вид изнутри / tracer.php:

<p>This is tracer.</p>

<p>Nulla vitae elit libero, a pharetra augue.</p>

Если вы попытаетесь получить доступ к http://mydomain/index.php/tracer/index,, вы получите:

Мой сайт

Hello World

Если вы попытаетесь получить доступ к http://mydomain/index.php/tracer/trace,, вы получите:

Мой сайт

Это трассер.

Nulla vitae elit libero, pharetra augue.

Надеюсь, это поможет!

...