2012-04-11 7 views
5

In meiner Magento-Installation habe ich ein Dropdown-Menü, das aus einer Kategorie Produkte in meinen 'Kategorien' generiert wird. Es verwendet den Code: <?php echo $this->getChildHtml('topMenu') ?>, um das Menü anzuzeigen.Statische Links zum oberen Navigationsmenü in Magento hinzufügen

In bestimmten Abständen möchte ich jedoch einen statischen HTML-Link (Listenelement mit Hyperlink) in das Menü einfügen.

Wie erreiche ich das?

Vielen Dank für alle Hinweise

Antwort

4
+21

Während dies die Frage theoretisch beantworten könnte, [wäre es vorzuziehen] (http://meta.stackexchange.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. –

+7

Und diese Seite existiert nicht mehr .... – Howli

+3

Was für eine Verschwendung einer vollkommen guten Antwort – Impulss

-1

wie magento Top-Menü Hyperlink Titel-Tags geöffnete Datei und schauen Code

$ html hinzufügen = ‚getUrl(). '' '. $ externestClassCode.'> ' . $ this-> escapeHtml ($ Kind-> getName()).' ';

App/Code/Kern/Mage/Page/Block/Html/Topmenu. php

$ html. = 'getUrl().' "'. $ äußersterClassCode. 'title = "' . $ this-> escapeHtml ($ Kind-> getName()). '">' . $ this-> escapeHtml ($ Kind-> getName()). '';

3

Sie können diese Methode versuchen. Ich denke, dieser Weg ist angemessener als andere.

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

+1

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – fancyPants

+0

Danke für deinen Kommentar @fancyPants. Ich werde meine Antwort aktualisieren. –

1

Es gibt ein paar Möglichkeiten, dies zu tun, können Sie Mage_Catalog_Block_Navigation umschreiben dies zu erreichen.

Innerhalb der renderCategoriesMenuHtml Funktion, können Sie es an den verschiedenen Positionen innerhalb der foreach-Schleife mit einem Zähler fangen und einen Block machen:

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

Oder buchstäblich machen den Link wie folgt:

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

Die erste Methode bietet etwas mehr Flexibilität für Frontend-Entwickler, anstatt sie in der Klasse zu codieren.

Sie können auch einige schwerwiegende Manipulation durch diese Methode wie das Hinzufügen von Bildern in das Menü implementieren, ich habe etwas ähnliches verwendet, um eine "Featured-Produkte" -Funktion im Menü zu implementieren.

8

In der aktuellen Version von Magento Sie diese dann durch die Schaffung einer neuen Kategorie tun können, die Sie wollen (CMS Seite, Produktseite, Offsite etc.)

  1. Erstellen Sie eine neue Unterkategorie um diese Kategorie zu jeder URL umleiten . Benennen Sie dies so, wie es im Menü angezeigt werden soll. Stellen Sie sicher, dass es einen eindeutigen URL-Schlüssel hat, aktiv ist und "Im Navigationsmenü" ist. Sie können ändern, wo es angezeigt wird, indem Sie die Position im Kategoriemenü per Drag-and-Drop an die Stelle ändern, an der es angezeigt werden soll.
  2. Gehen Sie in URL Rewrite Management. Ihre neue Kategorie sollte die oberste Systemverknüpfung sein, die gerade erstellt wurde. Wenn nicht, filtern Sie die Tabelle nach der ID-Nummer der neuen Kategorie. Gehen Sie in diese neue Umleitung.
  3. Ändern Sie die Weiterleitung in Permanent und kopieren Sie den Zielpfad. Sie werden dies für den nächsten Schritt benötigen. Speichern Sie Ihre Änderungen.
  4. Erstellen Sie eine neue benutzerdefinierte URL Redirect mit den folgenden Optionen und speichern Sie sie
    • Store: Der Speicher, für den dies gilt. Muss mit dem Geschäft der Kategorie übereinstimmen, die Sie umleiten.
    • ID Pfad: URL, zu der die Kategorie gehen soll. (d. Geschenkkarten)
    • Anforderungsweg: Fügen Sie den Zielpfad ein, den Sie im vorherigen Schritt kopiert haben
    • Zielpfad: URL, zu der die Kategorie gehen soll. (Dh Geschenk-Karten)
    • Redirect: Stellen Sie auf Permanent 301
  5. zum Index Management gehen und aktualisieren Sie Ihren Katalog URL Rewrites (falls erforderlich)

Sie sollten nun in der Lage sein, zu dem Thema Frontend und sehen Sie die neue Kategorie im Menü. Wenn Sie darauf klicken, werden Sie direkt zu dem von Ihnen angegebenen Link weitergeleitet. Ich bevorzuge diese Methode gegenüber anderen, da Sie dadurch besser steuern können, wo eine statische Verknüpfung platziert wird, und dass Sie einen statisch verknüpften Menüeintrag in Untermenüs einfügen können.

Dieses Video zeigt diese Technik Schritt für Schritt für Magento Go, aber der Prozess ist für alle Geschmacksrichtungen von Magento gleich. http://www.youtube.com/watch?v=5rSIQlRC8Xk

+1

ist es eine gute Option für SEO? Ich meine, dass Sie zwei verschiedene Links in der Sitemap haben werden, die auf die gleiche Seite zeigen ... – WonderLand

+0

yeah, nicht sehr gut für seo –

+0

Gut zu wissen ... Ich werde definitiv nicht Magento verwenden. –

-1

Sie können einen Block innerhalb top.menu mit Ihren benutzerdefinierten Links erstellen. Fügen Sie diese in local.xml Datei Ihr Thema:

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

Ich denke, das ist der einfachste Weg.

+0

die Frage ist über Top-Navigation nicht top.menu Links – aimiliano

Verwandte Themen