Magento - отображение родительской и дочерней категорий в выпадающем меню
В настоящее время мы работаем над страницами наших категорий в Magento и имеем следующий код, чтобы предоставить список дочерних категорий для категории, в которой мы находимся.
У нас есть следующие настройки:
Магазин - Cat 1 - Gloss Colours (Parent) - Sub cat 1 - Zurfiz (Child) - Sub cat 2 - Parapan (Child)
Снимок экрана выпадающего меню: http://awesomescreenshot.com/048kga35a
Мы хотим изменить код, чтобы он отображал опцию "Показать все" и ссылку на родительскую категорию в выпадающем меню, а также на дочерние категории. Кто-нибудь знает, какой код мы должны использовать для этого?
Из приложения \ design \ frontend \ default [наш шаблон] \ template \ catalog \ navigation \ left.phtml
<?php if (!Mage::registry('current_category')) return ?>
<?php $_categories=$this->getCurrentChildCategories() ?>
<?php
$oLayer = null;
$oCat = $this->getCurrentCategory();
# level 3 categories display their category siblings
if (3 === (int)$oCat->getData('level')) {
# get the layer object
$oLayer = Mage::getSingleton('catalog/layer');
$oParentCategory = $oCat->getParentCategory();
# set the parent category as the current category
$oLayer->setData('current_category',$oParentCategory);
# load the child categories
$_categories = $this->getCurrentChildCategories();
}
?>
<?php if($_categories->count()): ?>
<div class="box layered-nav">
<?php
# switch back the current category
if (null !== $oLayer) $oLayer->setData('current_category',$oCat);
?>
<script language="javascript" type="text/javascript" >
function jumpto(x){
if (document.form1.jumpmenu.value != "null") {
document.location.href = x
}
}
</script>
<div class="cat-dropdown">
<form name="catlist">
<select name="jumpmenu" onChange="jumpto(document.catlist.jumpmenu.options[document.catlist.jumpmenu.options.selectedIndex].value)">
<option value="#">Choose a brand</option>
<?php foreach ($_categories as $_category): ?>
<?php if($_category->getIsActive()): ?>
<option value="<?php echo $this->getCategoryUrl($_category) ?>"><?php echo $this->htmlEscape($_category->getName()) ?> (<?php echo $_category->getProductCount() ?>)</option>
<?php endif; ?>
<?php endforeach ?>
</select>
</form>
</div>
</div>
<?php endif; ?>
1 ответ
Используйте этот код..
<?php
//$id = whatever
$subcats = Mage::getModel('catalog/category')->load($id)->getAllChildren();
?>
<select name="jumpmenu">
<option value="#">Choose a brand</option>
<?php
foreach(explode(',',$subcats) as $subCatid)
{
$_category = Mage::getModel('catalog/category')->load($subCatid);
//print_r($_category);
?>
<option value="<?php echo $_category->getCategoryUrl() ?>"><?php echo htmlEscape($_category->getName()) ?></option>
<?php } ?>
</select>