我四处寻找如何做到这一点,但没有任何工作。
我有一个.phtml文件,想要用它来覆盖当前标题(位于<title></title>
标签之间)。
我找到$this->getLayout()->getBlock('head')->setTitle("New Title");
想要做的某个地方,但事实并非如此。但是$this->getLayout()->getBlock('head')->getTitle();
正确地正确返回当前标题。
任何帮助都会很棒
答案 0 :(得分:3)
我认为你不能在 .phtml 中做到这一点。我会使用 local.xml 文件并按照this guide。
这允许您为不同的页面设置标题,如下所示:
<reference name="head">
<action method="setForcedTitle"><title>Account Dashboard</title></action>
</reference>
答案 1 :(得分:3)
我认为你不能在.phtml这里轻松解决这个问题
您已将页面图块设置为“向朋友发送电子邮件”,因此请打开您的sendfriend.xml文件并设置以下代码。
<reference name="head">
<action method="setTitle" translate="title" module="sendfriend"><title>Email to a Friend</title></action>
</reference>
它正在运作..
答案 2 :(得分:0)
Magento首先加载head.phtml。 所以我们无法覆盖另一个模板文件中的标题。
我有类似的要求。我的所作所为在下面。
<title>
<?php
/*****************Customized For Title***********************/
$url = $_SERVER['REQUEST_URI']; //Check With url
$url = parse_url($url, PHP_URL_PATH);
$url = explode('/',$url);
$url_key = $url[2]; //Set The url-key
$cateUrl = Mage::getModel('catalog/category')->getCollection ()
->addAttributeToSelect ('id')
->addAttributeToFilter ('url_key', $url_key) //load the category
->getFirstItem (); //only 1 result ;
$catSel = Mage::getModel('catalog/category')->load($cateUrl->entity_id)->getMetaTitle();
//If Page title then Update
if(!empty($catSel))
$this->getLayout()->getBlock('head')->setTitle($catSel);
/*****************Customized For Title***********************/
echo $this->getTitle()
?>
</title>
在我的情况下,我需要检查网址,如果网址有类别的分页标题,则会覆盖它。
答案 3 :(得分:-1)
您可以通过编辑&#34; CMS&#34;中的页面标题来简单地执行此操作。管理面板中的配置。它非常简单,不需要任何编码。