Zend:如何在我的所有视图中添加网页标题?

Stu*_*ent 3 php bootstrapping zend-framework page-title

现在我必须在我的所有视图中分别添加标题,如下所示:

<head>
       <title>TestProject - Home</title>
</head>
Run Code Online (Sandbox Code Playgroud)

<head>
       <title>TestProject - Dashboard</title>
</head>
Run Code Online (Sandbox Code Playgroud)

现在,如果我想更改TestProject标题的一部分,那么我必须在所有视图中更改它.我怎么能在BootStrap.php中提到它并在所有视图中添加它?每当我必须改变它时,我会在一个地方改变它.

Eug*_*e M 10

您应该查看headTitle视图助手.您可以将此片段放在引导程序文件中(来自http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.headtitle上的文档).

// setting the controller and action name as title segments:
$request = Zend_Controller_Front::getInstance()->getRequest();
$this->headTitle($request->getActionName())
     ->headTitle($request->getControllerName());

// setting the site in the title; possibly in the layout script:
$this->headTitle('Test Project');

// setting a separator string for segments:
$this->headTitle()->setSeparator(' / ');
Run Code Online (Sandbox Code Playgroud)

然后你可以在控制器中单独设置每个页面标题,如下所示:

$this->view->headTitle('The page name')
Run Code Online (Sandbox Code Playgroud)

呈现的标题将如下所示:

<title>Test Project / The page name</title>
Run Code Online (Sandbox Code Playgroud)

哦,你需要在你的布局脚本中使用这个标签:

<?php echo $this->headTitle() ?>
Run Code Online (Sandbox Code Playgroud)