2012-04-11 1 views
5

Trong bản cài đặt Magento của tôi, tôi có một trình đơn thả xuống được tạo từ danh mục Sản phẩm trong ‘Danh mục’ của tôi. Nó sử dụng mã: <?php echo $this->getChildHtml('topMenu') ?> để hiển thị menu.Thêm liên kết tĩnh vào trình đơn điều hướng hàng đầu trong Magento

Tuy nhiên, tại một số khoảng thời gian nhất định, tôi muốn thêm liên kết HTML tĩnh (mục danh sách có siêu liên kết) vào menu.

Làm cách nào để đạt được điều này?

Rất cám ơn cho bất kỳ con trỏ

Trả lời

4
+21

Trong khi điều này về lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (http://meta.stackexchange.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. –

+7

Và trang đó không còn tồn tại ... – Howli

+3

Điều gì là một sự lãng phí của một câu trả lời hoàn hảo tốt – Impulss

-1

cách thêm Magento đầu đơn siêu liên kết thẻ tiêu đề tập tin mở và tìm kiếm đang

$ html = 'getUrl(). '' '. $ outermostClassCode.'> ' . $ this-> escapeHtml ($ child-> getName()).' ';

app/code/core/Mage/Trang/Block/Html/Topmenu. php

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

3

Bạn có thể thử phương pháp này. Tôi nghĩ cách này thích hợp hơn những người khác.

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

+1

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. – fancyPants

+0

Cảm ơn nhận xét của bạn @fancyPants. Tôi sẽ cập nhật câu trả lời của mình. –

1

Có một số cách để làm điều này, bạn có thể viết lại Mage_Catalog_Block_Navigation để đạt được điều này.

Bên trong chức năng renderCategoriesMenuHtml, bạn có thể bắt nó tại các vị trí khác nhau trong vòng lặp foreach với một bộ đếm và đưa ra một khối:

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

Hoặc theo nghĩa đen làm cho liên kết như vậy:

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

Phương pháp đầu tiên mang lại sự linh hoạt hơn một chút cho các nhà phát triển giao diện người dùng, thay vì mã hóa nó trong lớp.

Bạn cũng có thể thực hiện một số thao tác nghiêm trọng thông qua phương pháp này như thêm ảnh vào menu, tôi đã sử dụng một cái gì đó tương tự để triển khai tính năng 'sản phẩm nổi bật' trong menu.

8

Trong phiên bản hiện tại của Magento bạn có thể làm điều này bằng cách tạo ra một thể loại mới sau đó chuyển hướng thể loại đó để bất kỳ URL mà bạn muốn (CMS trang, trang sản phẩm, ngoại vi, vv)

  1. Tạo một tiểu thể loại mới . Đặt tên cho tên này theo cách bạn muốn hiển thị trong menu. Hãy chắc chắn rằng nó có một khóa URL duy nhất, nó đang hoạt động, và nó là "Trong Menu Navigation". Bạn có thể thay đổi vị trí hiển thị bằng cách thay đổi vị trí của nó trong menu danh mục bằng cách kéo-n-thả đến địa điểm bạn muốn hiển thị.
  2. Đi vào Quản lý ghi đè URL. Danh mục mới của bạn phải là liên kết hệ thống hàng đầu vừa được tạo. Nếu không, hãy lọc bảng theo số id của danh mục mới. Đi vào chuyển hướng mới này.
  3. Thay đổi Chuyển hướng thành Thường trực và sao chép Đường dẫn Mục tiêu. Bạn sẽ cần điều này cho bước tiếp theo. Lưu các thay đổi của bạn.
  4. Tạo URL tùy chỉnh mới Chuyển hướng với các tùy chọn sau và lưu nó
    • Lưu trữ: Cửa hàng này áp dụng cho. Phải khớp với cửa hàng của danh mục bạn đang chuyển hướng
    • Đường dẫn ID: URL bạn muốn danh mục đi đến. (ví dụ: thẻ quà tặng)
    • Đường dẫn yêu cầu: Dán Đường dẫn mục tiêu bạn đã sao chép từ bước trước tại đây
    • Đường dẫn đích: URL bạn muốn danh mục đi đến. (Tức là món quà-card)
    • Redirect: Đặt vĩnh viễn 301
  5. Tới Management Index và làm mới Catalogue URL của bạn ghi đè (nếu cần)

Bây giờ bạn sẽ có thể đi đến Giao diện người dùng và xem danh mục mới trong menu. Nhấp vào nó sẽ chuyển hướng bạn thẳng đến liên kết bạn cung cấp. Tôi thích phương pháp này hơn những người khác vì nó cho phép bạn kiểm soát tốt hơn nơi mà một liên kết tĩnh được đặt và cho phép bạn đặt một mục menu được liên kết tĩnh trong các menu phụ.

Video này hiển thị kỹ thuật này từng bước cho Magento Go nhưng quá trình này giống nhau đối với tất cả các hương vị của Magento. http://www.youtube.com/watch?v=5rSIQlRC8Xk

+1

là một lựa chọn tốt cho SEO? Tôi có nghĩa là bạn sẽ có 2 liên kết khác nhau trong sơ đồ trang web trỏ đến cùng một trang ... – WonderLand

+0

vâng, không tốt cho seo –

+0

Điều cần biết ... Tôi chắc chắn sẽ không sử dụng Magento. –

-1

Bạn có thể tạo khối trong top.menu bằng các liên kết tùy chỉnh của mình. Thêm ảnh này vào chủ đề của bạn là local.xml tệp:

<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> 

Tôi nghĩ đây là cách dễ nhất.

+0

câu hỏi là về điều hướng hàng đầu không phải là liên kết hàng đầu.menu – aimiliano