In Magento habe ich Kategorien und Unterkategorien hinzugefügt, diese werden auf der Homepage meiner Website angezeigt.
Jetzt möchte ich Unterkategorien zusammen mit dem jeweiligen Bild anzeigen. Ich möchte jedoch keine von Magento bereitgestellten Erweiterungen verwenden.
Der folgende Schnappschuss zeigt, wie mein Dropdown-Menü aussieht, aber ich möchte der jeweiligen Kategorie ein Bild hinzufügen.
Dies ist der Code, den ich in renderer.phtml app / design / frontend / rwd / default / template / page / html / topmenu hinzugefügt habe
<?php
$html = '';
$children = $menuTree->getChildren();
$parentLevel = $menuTree->getLevel();
$childLevel = is_null($parentLevel) ? 0 : $parentLevel + 1;
$counter = 1;
$childrenCount = $children->count();
$parentPositionClass = $menuTree->getPositionClass();
$itemPositionClassPrefix = $parentPositionClass ? $parentPositionClass . '-' : 'nav-';
foreach ($children as $child) {
$child->setLevel($childLevel);
$child->setIsFirst($counter == 1);
$child->setIsLast($counter == $childrenCount);
$child->setPositionClass($itemPositionClassPrefix . $counter);
$outermostClassCode = 'level'. $childLevel;
$_hasChildren = ($child->hasChildren()) ? 'has-children' : '';
$html .= '<li '. $this->_getRenderedMenuItemAttributes($child) .'>';
$html .= '<a href="'. $child->getUrl() .'" class="'. $outermostClassCode .' '. $_hasChildren .'">'. $this->escapeHtml($this->__($child->getName())) .'</a>';
if (!empty($childrenWrapClass)) {
$html .= '<div class="'. $childrenWrapClass .'">';
}
$nextChildLevel = $childLevel + 1;
if (!empty($_hasChildren)) {
$html .= '<ul class="level'. $childLevel .'">';
$html .= '<li class="level'. $nextChildLevel .' view-all">';
$html .= '<a class="level'. $nextChildLevel .'" href="'. $child->getUrl() .'">';
$html .= $this->__('View All') . ' ' . $this->escapeHtml($this->__($child->getName()));
$html .= '</a>';
$html .= '</li>';
$html .= $this->render($child, $childrenWrapClass);
$html .= '</ul>';
}
if (!empty($childrenWrapClass)) {
$html .= '</div>';
}
$html .= '</li>';
$counter++;
}
return $html;
und folgenden Code habe ich in app / design / frontend / rwd / default / template / page / html / topmenu.phtml hinzugefügt
<?php $_menu = $this->getHtml('level-top') ?>
<?php if($_menu): ?>
<nav id="nav">
<ol class="nav-primary">
<?php echo $_menu ?>
</ol>
</nav>
<?php endif ?>
und außerdem habe ich folgenden Code in app / etc / modules / WP_customMenu.xml hinzugefügt, um die Kategorieliste in angepasster Form anzuzeigen
<?xml version="1.0"?>
<config>
<modules>
<WP_CustomMenu>
<active>true</active>
<codePool>community</codePool>
</WP_CustomMenu>
</modules>
</config>
quelle
Antworten:
Sie müssen die Kategorie in Ihre Vorlage laden. Entweder nach der Factory-Methode (wie hier gezeigt) oder in Ihrer Blockinstanziierung ({{block}} oder XML-Block). Ich hoffe, dieses Code-Snippet wird helfen.
quelle
Du brauchst genau das, was ich getan habe. Ich habe dies für die Stammkategorie erstellt, aber der gleiche Ansatz wird für Unterkategorien verwendet.
Schauen Sie hier, da es dieselbe Frage ist: Wie erhalte ich eine Miniaturansicht oder ein Bild einer Kategorie?
Suche nach meiner Antwort.
quelle
Gehen Sie zum Magento-Administrationsbereich, navigieren Sie zu Katalog-> Kategorien verwalten-> und klicken Sie auf die gewünschte Kategorie. Notieren Sie sich die ID der erforderlichen Kategorie, z. B.: Nehmen Sie die ID des Abenteuers als: 2796
Gehen Sie nun zu cms-> statischer Block> Neuen Block hinzufügen
Blocktitel *: wp_custom_menu_2796 Kennung *: wp_custom_menu_2796 Speicheransicht *: erforderliche Ansicht Status *: aktiviert Inhalt *:
2796 ist die Kategorie-ID
quelle