Zend framework zend框架路由和布局

Zend framework zend框架路由和布局,zend-framework,Zend Framework,我有一个CMS基本控制器,我的大多数其他控制器扩展。它具有列表、创建、读取、更新和删除操作的默认操作,所有这些操作都基于用户正在使用的资源的名称设置标题 索引操作默认仅包含一行: $this->_forward('list'); 现在我的问题是,当我打开CMS控制器的索引时,我以前设置的标题就消失了。我想知道会发生什么,什么是最好的解决办法 请注意,如果将列表操作重命名为索引,则不会出现问题。在索引操作中更改视图标题也可能不起作用。Hmm,您在哪里设置标题以及以什么方式设置标题?就我个人

我有一个CMS基本控制器,我的大多数其他控制器扩展。它具有列表、创建、读取、更新和删除操作的默认操作,所有这些操作都基于用户正在使用的资源的名称设置标题

索引操作默认仅包含一行:

$this->_forward('list');
现在我的问题是,当我打开CMS控制器的索引时,我以前设置的标题就消失了。我想知道会发生什么,什么是最好的解决办法


请注意,如果将列表操作重命名为索引,则不会出现问题。在索引操作中更改视图标题也可能不起作用。

Hmm,您在哪里设置标题以及以什么方式设置标题?就我个人而言,我的标题只有两部分,比如“应用程序:当前操作”。为了实现这一点,我采取以下措施:

//layout.phtml
<?=$this->headTitle()->setPrefix('APP: ')?>

//indexAction()
$this->_forward('list');

//listAction()
$this->view->headTitle()->append('List Data');

如果这不适合您,您的脚本将需要在其他地方查找错误:)

实际上,我最初认为这个问题与路由有关的想法是正确的。我正在一个动作控制器的预施展动作中加载布局。实际上,在索引操作中设置了title属性后,我重新创建了布局视图。

我理解正确吗?如果用户点击/索引,您希望标题是“索引”而不是“列表”,但仍然得到列表输出?假设用户正在编辑文章。我想让他在点击/cms/Articles时看到标题为“文章列表”。当他点击/cms/articles/list时确实会发生这种情况实际上我没有使用容器,我只是将标题设置为一个常规对象变量,如下所示:$This->view->title='mynewtitle';无论如何都应该有效:S可能会显示控制器和视图脚本的相关部分。
//editAction()
if (!is_numeric($this->_getParam('id'))) {
  return $this->_forward('list');
}