使用Zend View Action Helpers&禁用布局

时间:2010-07-22 13:29:05

标签: zend-framework

我正在阅读关于zend框架文档的zend视图操作助手。所以我创建了一个索引动作

// index.phtml
... 
echo $this->action(
  $action = "widgetenabledoutput",
  $controller = "index",
  $module = null,
  array(
    "noLayout" => true,
    "itemsPerPage" => 15
  )
);

// index controller (IndexController.php)
public function widgetenabledoutputAction() {
  $noLayout = $this->getRequest()->getParam("noLayout");
  $itemsPerPage = $this->getRequest()->getParam("itemsPerPage");

  if ($noLayout) { // i made this such that this page/action can be displayed with layout and without. 
    $this->_helper->layout->disableLayout();
  }
  $html = "<ul>";
  for ($i = 1; $i <= $itemsPerPage; $i++) {
    echo "<li>Item $i</li>";
  }
  $html .= "</ul>";
  $this->view->html = $html;     
}

我得到的错误是在索引动作index.phtml中,我的目的是获取widgetenabledoutputAction的输出(列表)而不是widgetenabledoutputAction的布局,但我想要{的布局{1}}它有意义吗?难道我做错了什么?或者我必须为我想要使用动作助手的东西做出精心的行动吗?

2 个答案:

答案 0 :(得分:0)

如果您只想使用其他视图,请使用

$this->_helper->viewRenderer('index');

您无需再调用其他操作即可使用相同的视图

答案 1 :(得分:0)

我发现使用zend视图操作助手是智能enuf并自动禁用该视图的布局。所以它只提供该动作视图脚本的输出而不是布局。我做了什么似乎禁用请求的布局不是我想要的。