题
有没有办法更改 .pthml 文件的页面标题和元描述?
我知道这是有关头文件的内容,但是 magento 有没有办法强制更改页面标题并在 .pthml 文件中添加元描述?或者这根本不可能?
解决方案
这实际上是不可能的。这仅在极少数模板文件中是可能的。问题是,Magento 分层呈现模板文件。自然地, head
呈现标题和描述的块在该过程的开始时呈现。您可以更新通用模板文件中的信息,例如 2columns-right.phtml
如果您插入以下内容 前 打电话给 $this->getChildHtml('head')
:
<?php $this->getLayout()->getBlock('head')->setTitle('My title'); ?>
<?php $this->getLayout()->getBlock('head')->setDescription('My description'); ?>
请注意,这是非常糟糕的做法。但有趣的是它确实有效。如果将上述代码插入稍后渲染的模板文件中,标题和描述将不会更新(因为它们之前已经渲染过)。
也许您可以使用一些布局句柄并通过布局 XML 更新标题/描述?就像是:
<CATEGORY_3>
<reference name="head">
<action method="setTitle">
<title>My title</title>
</action>
</reference>
</CATEGORY_3>