【问题标题】:How to render a view in Kohana如何在 Kohana 中渲染视图
【发布时间】:2011-08-06 06:34:01
【问题描述】:

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

类 Controller_Tracer 扩展控制器 {

    公共函数 action_index() {
        $this->request->response = View::factory('tracer');
    }

}

然后我在 application/views/tracer.php 中创建了这个视图:

跟踪视图

现在,当我尝试通过http://mydomain/index.php/tracer/index 访问控制器时,它只是显示一个空白页面。它似乎正在同时找到控制器和视图,因为当我更改名称时出现错误,但它没有显示任何内容。

有人知道可能是什么问题吗?

【问题讨论】:

  • 您使用的是什么版本的 Kohana? 3.0 还是 3.1?
  • 我建议您检查网络服务器的响应(例如通过 Firebug)。可能是 5xx 错误。
  • 在 Firebug 中我看到 200 OK 响应

标签: view controller kohana-3


【解决方案1】:

在 Kohana 3.1 中,您将改为使用:

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

快速查看migrating from 3.0 to 3.1 的文档。

【讨论】:

  • 谢谢!这将教导不要使用谷歌的快速链接来访问文档页面(它当前链接到 2.0 文档,然后链接到 3.0 文档但不是 3.1)。
【解决方案2】:

除了 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,你会得到:

我的网站

你好世界

如果你尝试访问http://mydomain/index.php/tracer/trace,你会得到:

我的网站

这是追踪器。

Nulla vitae elit libero,一个 pharetra augue。

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2015-03-08
    • 2012-12-18
    • 1970-01-01
    相关资源
    最近更新 更多