kam*_*lot 9 php zend-framework meta-tags zend-layout
所以我在layout.phtml上设置了一些默认元标记
$this->headTitle() and $this->headMeta()->appendName()
Run Code Online (Sandbox Code Playgroud)
并在layout.phtml的标题中回显
我的问题是:如何从视图文件中更改这些默认元标记,以便替换它们?
我试过用:
$this->headMeta()->appendName() or setName()
Run Code Online (Sandbox Code Playgroud)
它不会替换旧的默认元标记,而是创建一个全新的元标记.我怎样才能更换它们?
Aro*_*eel 14
我刚试过这个,setName()应该可以工作:
<?php $this->headMeta()->setName('keywords', 'test'); ?>
<?php $this->headMeta()->setName('keywords', 'test'); ?>
Run Code Online (Sandbox Code Playgroud)
结果是:
<meta name="keywords" content="another test" >
Run Code Online (Sandbox Code Playgroud)
而:
<?php $this->headMeta()->setName('keywords', 'test'); ?>
<?php $this->headMeta()->appendName('keywords', 'another test'); ?>
Run Code Online (Sandbox Code Playgroud)
结果是:
<meta name="keywords" content="test" >
<meta name="keywords" content="another test" >
Run Code Online (Sandbox Code Playgroud)
Mar*_*cin 11
我建议为关键字设置一个视图变量.例如,在bootstrap.php中,您可以按如下方式定义默认关键字:
protected function _initSetDefaultKeywords() {
$view = $this->bootstrap('view')->getResource('view');
$view->keywords = 'default keywords';
}
Run Code Online (Sandbox Code Playgroud)
在layout.phtml中你会有:
<?php echo $this->headMeta()->appendName('keywords', $this->keywords); ?>
Run Code Online (Sandbox Code Playgroud)
最后,在您的视图(或操作)中,您只需更改关键字视图变量即可更改元关键字:
// in an action
$this->view->keywords = 'new kewords';
//or in a view
<?php $this->keywords = 'new kewords'; ?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13789 次 |
| 最近记录: |