2012-03-23 76 views
0

我一直在试图在Kohana 3.2中使用动态视图,但没有成功。我在(元,内容和页脚)中使用了包含三个视图的以下布局视图。无法在浏览器中获取动态视图更新

视图/布局:

<html> 
    <head> 
     <?php echo $meta ?> 
    </head> 
    <body> 
     <?php echo $content ?> 
     <?php echo $footer ?> 
    </body> 
<html> 

我能够开始呈现没有问题(在$元视图里面出现值的默认值)所有三种意见,但后来在流我给你并将变量传递给新的$元视图,但视图不会在我的浏览器中更新。我启用了针对特定视图的日志记录(在变量已通过之后),看起来一切正常。

// Passing variables to view and rendering view in controller/layout 
$this->template->meta = View::factory('meta'); 
$this->template->meta->url = $this->template->art->url; 
$this->template->meta->name = $this->template->art->name; 
$this->template->meta->image = $this->template->art->image; 
$this->template->meta->about = $this->template->art->about; 
$this->response->body($this->template->meta); 
Kohana::$log->add(Log::INFO, 'TEMPLATE VALUE: ' . $this->template); 

如何强制更新视图中的特定视图,或者如何替换视图?

+1

显示你的控制器请 – biakaveron 2012-03-24 10:01:24

回答

0

原来,控制器被另一个控制器覆盖。原来的$ this-> response-> body($ this-> template-> meta)在禁用了一些东西之后工作。

非常感谢大家的帮助,我们非常感谢大家努力修复它。

0

尝试更换:

$this->response->body($this->template->meta); 

有了:

$this->response->body($this->template->meta->render()); 
+0

再次当我看着日志我仍然看到元视图部分已更新,但在浏览器中没有明显的变化。 – eanlain 2012-03-23 19:58:42

0

我假设你正在扩展的控制器,而不是Controller_Template这意味着你需要告诉身体处理整个模板。将这段代码放在行为的最后,它将允许您编辑元,内容或页脚,直到您发送该命令。你可能过早地发送身体,然后尝试改变它,这将是无用的。

$this->response->body($this->template); 
相关问题