Magento getUrl funktioniert nicht mit Katalog/Kategorie-Objekt?
Habe ich in der Lage zu instanziieren Sie ein Kategorie-Objekt zum abrufen der name, aber wenn ich den getUrl
Methode es ist nicht die Rückkehr einer URL auf der Kategorie listing Seite, oder überhaupt etwas
<?php
$children = Mage::getModel('catalog/category')->getCategories(3);
foreach ($children as $category):
echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>';
endforeach;
?>
Den code oben angeführten Ergebnisse in der HTML-Ausgabe von
<li><a href="">name of sub-cat</a></li>`
Weiß jemand wie ich die URL für eine Kategorie-Seite vom catalog/category
Objekt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersetzen
mit
Das problem ist
getCategories()
normalerweise gibt eineVarien_Data_Tree_Node_Collection
eher als eine Sammlung von Kategorien. Stattdessen können Sie dies tun:Ist der vierte parameter
$asCollection
, vorbei an einemtrue
bedeutet, dass Sie zurückgegeben werden, einMage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection
die Sie wahrscheinlich erwarten. Der rest sollte jetzt funktionieren.0
setzen1
nur für die erste Stufe, die2
für die erste und die zweite, usw. Da haben Sie Recht, Gordon ' s Antwort macht das gleiche und ist einfach besser zu.Können Sie laden jeden Kategorie innerhalb der foreach-Schleife und dann die Kategorie-URL.
Könnte dies funktionieren für eine geringere Anzahl von Kategorien. Dies kann jedoch mehr Zeit in Anspruch nehmen, wenn Sie eine große Anzahl von Kategorien.