0
пытается отобразить все вторые категории уровня и моего кодКак получить URL из категории в Magento
<?php $storeId = Mage::app()->getStore()->getId();
//Get category model
$_category = Mage::getModel('catalog/category')->setStoreId($storeId);
$_categoryCollection = $_category->getCollection();
$_categoryCollectionIds = $_categoryCollection->getAllIds();
//Remove root category from array
unset($_categoryCollectionIds[0], $_categoryCollectionIds[1]);
?>
<div id="accordian_hover">
<?php
$o = null;
$o .= '<ul>';
foreach ($_categoryCollectionIds as $catId) {
$_category = $_category->load($catId);
if($_category->getLevel() == 2) {
$catChildren = $_category->getChildren();
if(!empty($catChildren)) {
$o .= '<li> <a href="'.$_category->getUrl().'">'.$_category->getName().'</a>';
$o .= '<ul>';
$categoryChildren = explode(",", $catChildren);
foreach ($categoryChildren as $categoryChildId) {
/* @var $_childCategory Mage_Catalog_Model_Category */
$_childCategory = $_category = Mage::getModel('catalog/category')->setStoreId($storeId)->load($categoryChildId);
$o .= '<li><a href="'.$_childCategory->getUrl().'">'.$_childCategory->getName().'</a></li>';
// If you wish to display the total number of products for each category, uncomment this line
// $o .= '<span class="totalNumberOfProducts">'.$_childCategory->getProductCollection()->count().'</span>';
}
$o .= '</ul></li>';
}
}
} $o .='</ul>';
echo $o;
?>
</div>
Но верхний URL меню неправильно все другие показывают правильно, но основная категория URL является неправильно (2-я категория) Пожалуйста, помогите мне, и я должен отобразить меню третьего уровня, также, когда пользователь наводил на категорию ... Ссылка на соединение http://toolskaart.com/
Это прекрасный пример того, что-не-в-мадженто. Повторная загрузка всего объекта из базы данных на каждой итерации (!) В Magento не будет очень эффективной. –
Можете ли вы привести мне пример. Как переписать его. – Sethu
Используйте коллекцию моделей - это загрузка всей коллекции сразу (с использованием фильтрации по id), а затем просто итерация объектов. Он будет использовать один запрос вместо 'n', делая его значительно быстрее. –