magento获取所有分类列表

本文提供了Magento平台中管理和显示各类商品分类的方法,包括显示所有分类、激活分类、特定级别的分类及顶级分类等。通过PHP代码实现,适用于Magento商店的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.显示所有的Magento分类列表(Active/Inactive)

下面的代码将获取在你的magento商店里面的所有分类:

$categories = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('*');

2. 显示所有激活的分类( Active Categories)

下面的代码将获取你的magento商店里的所有激活的分类,过滤掉没有激活的分类

$categories = Mage::getModel('catalog/category') ->getCollection() ->addAttributeToSelect('*') ->addIsActiveFilter();

3. 在magento中显示任意级别的并且是激活状态下的分类

下面代码将获取所有特定级别的激活分类,在这里我选择了一级分类,并按照分类的name排序

$categories = Mage::getModel('catalog/category') ->getCollection() ->addAttributeToSelect('*') ->addIsActiveFilter() ->addLevelFilter(1) ->addOrderField('name');

4. 在magento中显示特定分类存储类型

下面的代码将获取所有激活的的存储特定分类

getStoreCategories($sorted=false, $asCollection=false, $toLoad=true) 
$helper = Mage::helper('catalog/category'); 

// sorted by name, fetched as collection 
$categoriesCollection = $helper->getStoreCategories('name', true, false); 

// sorted by name, fetched as array 
$categoriesArray = $helper->getStoreCategories('name', false, false);

5. 在magento中只显示顶级分类

下面的代码将获取所有magento顶级分类

<?php $_helper = Mage::helper('catalog/category') ?> 
<?php $_categories = $_helper->getStoreCategories() ?> 
<?php if (count($_categories) > 0): ?> 
<ul> 
<?php foreach($_categories as $_category): ?> 
<li> 
<a href="getCategoryUrl($_category) ?>"> 
<?php echo $_category->getName() ?> 
</a> 
</li> 
<?php endforeach; ?> 
</ul> 
<?php endif; ?>

6. 在magento中显示所有顶级分类及其所有子分类

下面的代码将获取所有的magento商店中顶级分类以及所有子分类

<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
<?php foreach($_categories as $_category): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
<?php echo $_category->getName() ?> //Top Level Category Listing
</a>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul>
<?php foreach($_subcategories as $_subcategory): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>"> //Sub Category Listing
<?php echo $_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

7. 在magento中显示当前顶级分类的子分类

下面的代码将获取当前顶级分类的所有子分类

<?php $_currentCategory = Mage::register('current_category') ?>
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php if (count($_categories) > 0): ?>
<ul>
<?php foreach($_categories as $_category): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_category) ?>" title="<?php echo $_category->getName() ?>">
<?php echo $_category->getName() ?>
</a>
<?php if ($_category->getId() == $_currentCategory->getId()): ?>
<?php $_subcategories = $_currentCategories->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul>
<?php foreach($_subcategories as $_subcategory): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>" title="<?php echo $_subcategory->getName() ?>">
<?php echo $_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

8. 获取类目树

下面的代码将返回一段类目树的html代码

$catalogHtml = Mage::getModel("newaddproducts/newaddproducts")->getTreeCategories('2', false);

 

希望对你有帮助,Thanks

转载于:https://my.oschina.net/ganfanghua/blog/1499570

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值