View 如何在Kohana中渲染视图

View 如何在Kohana中渲染视图,view,controller,kohana-3,View,Controller,Kohana 3,我刚开始使用Kohana,在渲染简单视图时遇到了一些问题。我创建了以下控制器: class Controller_Tracer extends Controller { public function action_index() { $this->request->response = View::factory('tracer'); } } 类控制器\跟踪程序扩展控制器{ 公共函数操作_索引(){ $this->request->respo

我刚开始使用Kohana,在渲染简单视图时遇到了一些问题。我创建了以下控制器:

class Controller_Tracer extends Controller { public function action_index() { $this->request->response = View::factory('tracer'); } } 类控制器\跟踪程序扩展控制器{ 公共函数操作_索引(){ $this->request->response=View::factory('tracer'); } } 然后我在application/views/tracer.php中创建了这个视图:

Tracer view
<p>This is tracer.</p>

<p>Nulla vitae elit libero, a pharetra augue.</p>
跟踪视图 现在,当我试图通过访问控制器时,它只是显示一个空白页。它似乎同时找到了控制器和视图,因为当我更改名称时会出现错误,但它只是没有显示任何内容


有人知道会出现什么问题吗?

在Kohana 3.1中,您可以使用:

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

快速查看文档。

除了davgothic的解决方案,您还可以使用Controller\u模板。使用Controller_模板可以更轻松地管理模板和内容

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:

Tracer view
<p>This is tracer.</p>

<p>Nulla vitae elit libero, a pharetra augue.</p>
这是跟踪程序

精英自由主义者,法雷特拉·奥古斯

如果您尝试访问,您将获得:

我的网站 你好,世界

如果您尝试访问,您将获得:

我的网站 这是tracer

精英自由主义者,法雷特拉·奥古斯


希望有帮助

您使用的是什么版本的Kohana?3.0或3.1?我建议您检查Web服务器的响应(例如,通过Firebug)。可能是5xx错误。在Firebug中,我看到200 OK响应!这将教会我们不要使用谷歌的快速链接来访问文档页面(它目前链接到2.0文档,然后有一个指向3.0文档的链接,而不是3.1)。