Recupera Url di categoria su Magento quando si crea un menu personalizzato

Sto cercando di creare un menu a discesa personalizzato con solo alcune categorie specifiche e le rispettive sottocategorie. Finora sono riuscito a recuperare i nomi delle sottocategorie ma i collegamenti non functionranno.

Devo anche fare in modo che la categoria principale recuperi automaticamente il proprio nome e l'URL nel caso in cui venga modificata sul back-end di Magento. In questo caso l'ID della categoria è 265.

Il sito Web su cui sto lavorando è www.personalproducts4u.co.uk

<li class="eight"><a href="<?php echo $this->getUrl() ?>index.php/contacts">Hotel Products</a> <?php $children = Mage::getModel('catalog/category')->getCategories(265); ?> <ul> <?php foreach ($children as $category): ?> <li> <a href="<?php echo $category->getUrl ?>"> <?php echo $category->getName(); ?> </a> </li> <?php endforeach; ?> </ul> </li> 

Il problema è che la collezione $children è di tipo Varien_Data_Tree_Node_Collection ed i suoi elementi sono rispettivamente di tipo Varien_Data_Tree_Node . La chiamata a getUrl() su di essi restituisce null, non sono oggetti Mage_Catalog_Model_Category . Tuttavia, puoi recuperare il loro path di richiesta (url) chiamando:

 $category->getRequestPath(); 

In alternativa è ansible caricare l'object categoria chiamando:

 $cat = Mage::getModel('catalog/category')->load($category->getEntityId()); 

Quindi utilizzare la chiamata $cat->getUrl() . Questo caricamento aggiungerà comunque un sovraccarico.