在你不想的布局尝试访问量:
$this->_helper->layout->disableLayout();
这可以防止布局被显示。
如果由于某种原因,你想从同一个控制器相同的动作称为很多次,但一次加载布局(必须有更好的方式来组织自己),但你总是可以尝试:
public function indexAction()
{
static $firstTime = true;
if($firstTime){
$firstTime = false;
} else {
$this->_helper->layout->disableLayout(); //disable layout
}
}
我会试着举一个更好的例子: 可以说你有一个控制器foo有3个视图:索引,联系人,新闻。
class Foo_Controller extends Zend_Controller
{
//...
public function indexAction()
{
//normal view layout loads
}
public function contactAction()
{
//normal view layout loads
}
public function newsAction()
{
//no layout for this
$this->_helper->layout->disableLayout(); //disable layout
}
}
所以需要布局的视图有一个。那些不是没有的。除非你在说布局,而是真的想着别的东西,那么Zend_View_Helpers_Layout你将不会发布一些代码来帮助我们帮助你!
难道你不能只用另一个动作? – Vyktor 2012-02-07 15:45:20
那么你想通过AJAX加载HTML并将其放入你的布局?或者你想要什么?这很不清楚。 – bububaba 2012-02-07 15:48:30
好,让我帮忙。我需要将一个大的JSON对象缓存在一个页面上,该页面上有一个iframe。所有其他页面都需要访问这些数据,所以我需要将它们加载到iframe中,并且一旦登录就不会刷新主页面。 – 2012-03-13 03:07:18