Получить URL-адрес категории в Magento при создании пользовательского меню

Я пытаюсь создать настраиваемое раскрывающееся меню с несколькими конкретными категориями и их соответствующими подкатегориями. Пока мне удалось получить имена подкатегорий, но ссылки не будут работать.

Я также должен сделать основную категорию автоматически и автоматически, используя ее имя, и URL-адрес, если он изменен на заднем плане Magento. В этом случае идентификатор категории равен 265.

Веб-сайт, на котором я работаю, – 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> 

Проблема состоит в том, что коллекция $children имеет тип Varien_Data_Tree_Node_Collection и ее элементы соответственно имеют тип Varien_Data_Tree_Node . Вызов getUrl() на них возвращает null, они не Mage_Catalog_Model_Category объектами Mage_Catalog_Model_Category . Однако вы можете получить их путь запроса (url), вызвав:

 $category->getRequestPath(); 

В качестве альтернативы вы можете загрузить объект категории, вызвав:

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

А затем используйте вызов $cat->getUrl() . Однако эта загрузка добавит дополнительные накладные расходы.