2012-02-24 115 views
3

我環顧四周如何做到這一點,但沒有任何工作。用Magento覆蓋頁面標題

我有一個.phtml文件,並希望用它來覆蓋當前標題(位於<title></title>標籤之間)。

我發現某個地方$this->getLayout()->getBlock('head')->setTitle("New Title");應該這樣做,但事實並非如此。但$this->getLayout()->getBlock('head')->getTitle();正確地返回當前標題。

任何幫助將是巨大的

回答

3

我不認爲你可以在一個.phtml做到這一點。我會使用local.xml文件並按照this guide

這允許您設置標題不同的頁面,像這樣:

<reference name="head"> 
    <action method="setForcedTitle"><title>Account Dashboard</title></action> 
</reference> 
+1

問題是我有一個名爲「offers」的靜態頁面,而且我手工編寫了這樣的代碼,以便可以對頁面進行分頁,我希望將頁碼附加到標題中。所以我不能使用XML來做到這一點。或者我可以嗎? – dotty 2012-02-24 16:45:43

+0

僅供參考,您錯過了關閉'' – Justin 2015-04-14 02:53:04

+0

謝謝!我使用這種方法覆蓋主頁標題,以便標題不會附加商店名稱(導致它顯示兩次)。 – Loved 2017-06-01 15:53:57

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> 

在我的情況下,我需要檢查網址,如果網址有類別pagetitle它會覆蓋它。

3

我不認爲你可以在一個.phtml做,簡單的解決方案在這裏,你已經設置頁面瓦狀

「發送電子郵件給朋友」,因此打開sendfriend.xml文件,並設置下面的代碼。

<reference name="head"> 
     <action method="setTitle" translate="title" module="sendfriend"><title>Email to a Friend</title></action> 
    </reference> 

它的工作..

+0

我注意到你的方法是「setTitle」,作爲接受的答案用戶「setForcedTitle」...有什麼區別? – Justin 2015-04-14 02:52:03

+0

這是正確的答案 – 2015-08-11 13:20:39

+0

這取決於,如果setTitle不起作用,那麼接受的解決方案必須幫助,但是您需要閱讀inchoo文章並在head.php中進行更改。 – electroid 2016-09-01 03:43:41

-1

你可以簡單的做到這一點,通過在管理控制檯中的「CMS」配置中編輯網頁的標題。這非常簡單,不需要任何編碼。