2012-04-11 122 views
5

在我的Magento安裝中,我有一個下拉菜單,它是從我的'Categories'中的Products類別生成的。 它使用代碼: <?php echo $this->getChildHtml('topMenu') ?>來顯示菜單。在Magento中添加靜態鏈接到頂部導航菜單

但是,在一定的時間間隔內,我想添加一個靜態HTML鏈接(帶有超鏈接的列表項)到菜單中。

我該如何做到這一點?

任何指針

回答

4
+21

雖然這可能在理論上回答這個問題,但[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包含答案的重要部分,並提供供參考的鏈接。 – 2013-01-27 15:29:25

+7

該頁面不再存在... – Howli 2015-07-27 11:45:56

+3

浪費完美的答案 – Impulss 2015-07-28 01:23:53

-1

如何添加Magento的頂部菜單的超鏈接的標題標籤 打開文件,並查找代碼

$的HTML =「的getURL ()。 '''。$ outermostClassCode。'>' 。$ this-> escapeHtml($ child-> getName())。'';

app/code/core/Mage/Page/Block/Html/Topmenu。 php

$ html。='getUrl()。'「'。 $ outermostClassCode。 'title ='' 。$ this-> escapeHtml($ child-> getName())。'「>' 。 $ this-> escapeHtml($ child-> getName())。 '';

3

你可以試試這個方法。我認爲這種方式比其他方式更合適。

http://www.atwix.com/magento/how-to-add-a-new-item-to-the-navigation-menu/

+1

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – fancyPants 2014-07-24 08:33:00

+0

感謝您的評論@fancyPants。我會更新我的答案。 – 2014-07-24 09:38:33

1

有幾個方法可以做到這一點,你可以重寫Mage_Catalog_Block_Navigation實現這一目標。

裏面的renderCategoriesMenuHtml功能,你可以在一個櫃檯foreach循環內的各個位置捕獲它並呈現塊:

if ($j == 1) { 
    $html .= $this->getLayout()->createBlock('namespace/yourmodule')->setTemplate('topMenu/link.phtml')->toHtml(); 
} 

或者字面上呈現像這樣的鏈接:

$html .= '<a href="yourlink.php">Link Name</a>'; 

第一種方法爲前端開發人員提供了更多的靈活性,而不是在課堂上對其進行硬編碼。

你也可以通過這種方法實現一些嚴肅的操作,比如添加圖像到菜單中,我使用類似的東西來實現菜單中的「精選產品」功能。

8

在當前版本的Magento的,你可以通過創建一個新的類別,然後重定向該類別你想要的任何URL(CMS頁面,產品頁面,離線等)

  1. 創建一個新的子目錄做到這一點。將其命名爲您希望它在菜單中顯示的方式。確保它有一個唯一的URL鍵,它是活動的,它是「在導航菜單」。您可以通過將它在類別菜單中的位置通過拖放拖放到您希望顯示的位置來更改它顯示的位置。
  2. 進入URL重寫管理。您的新類別應該是剛創建的頂級系統鏈接。如果不是,則使用新類別的ID號過濾表格。進入這個新的重定向。
  3. 將重定向更改爲永久並複製目標路徑。下一步你將需要這個。保存您的更改。
  4. 使用以下選項創建一個新的自定義URL重定向,並保存它
    • 存儲:這適用於商店。必須與要重定向的類別的商店相匹配
    • ID路徑:您希望類別轉到的URL。 (即禮品卡)
    • 請求路徑:粘貼從上一步複製的目標路徑
    • 目標路徑:您希望類別轉到的URL。 (即禮品卡)
    • 重定向:設置爲永久301
  5. 轉到索引管理和刷新你的目錄URL重新寫入(如果需要)

您現在應該能夠去前端並在菜單中看到新的類別。點擊它將直接轉到您提供的鏈接。我比其他人更喜歡這種方法,因爲它可以更好地控制靜態鏈接的放置位置,並允許您在子菜單中放置靜態鏈接的菜單項。

這段視頻展示了Magento Go的分步技術,但這個過程對於所有Magento風格都是一樣的。 http://www.youtube.com/watch?v=5rSIQlRC8Xk

+1

對SEO來說是不錯的選擇?我的意思是說,你將有2個不同的鏈接在指向同一頁面的網站地圖中... – WonderLand 2014-05-02 12:26:52

+0

是的,對於seo不是很好 – 2014-11-13 15:19:47

+0

很高興知道...我絕對不會使用Magento。 – 2015-08-25 14:10:12

-1

您可以使用自定義鏈接在top.menu內創建塊。在你的主題local.xml文件補充一點:

<reference name="header"> 
    <reference name="top.menu"> 
     <block type="page/template_links" name="top.menu.custom-links"> 
      <action method="addLink" translate="label title"> 
       <label>New Link</label> 
       <url>my-url</url> 
       <title>New Link</title> 
       <prepare>true</prepare> 
       <urlParams helper="core/url/getHomeUrl"/> 
       <position>60</position> 
      </action> 
     </block> 
    </reference> 
</reference> 

我覺得這是最簡單的方法。

+0

問題是關於頂部導航而不是top.menu鏈接 – aimiliano 2016-10-26 14:49:34