生成分类目录树(Category Tree)
$rootcatId = Mage::app()->getStore()->getRootCategoryId(); $categories = Mage::getModel('catalog/category')->getCategories($rootcatId); function get_categories($categories) { $array = '<ul>'; foreach ($categories as $category) { $cat = Mage::getModel('catalog/category')->load($category->getId()); $count = $cat->getProductCount(); $array .= '<li>' . '<a href="' . Mage::getModel('catalog/category')->load($category->getId())->getUrl(). '">' . $category->getName() . "(".$count.")</a>"; if ($category->hasChildren()) { $children = Mage::getModel('catalog/category') ->getCategories($category->getId()); $array .= get_categories($children); } $array .= '</li>'; } return $array . '</ul>'; } echo get_categories($categories);
我个人的用法:
function get_categories($categories,$level=0) { $array = "\n".'<ul class="'.(!$level ? 'nav navbar-nav' :'dropdown-menu dropdown-menu-level-'.$level).'">'; foreach ($categories as $category) { // $cat = Mage::getModel('catalog/category')->load($category->getId()); // $count = $cat->getProductCount(); // $array .= "\n".'<li'.($category->hasChildren()?' class="dropdown-submenu"':'').'>'. '<a href="' . Mage::getUrl($category->getUrlPath()). '" class="dropdown-toggle" data-toggle="dropdown">'. $category->getName(). "(".$count.")</a>"; $array .= "\n".'<li'.($category->hasChildren()?' class="dropdown-submenu dropdown-submenu-level-'.$level.'"':'').'>'; $array .= ' <a href="' . Mage::getModel('catalog/category')->load($category->getId())->getUrl(). '" class="dropdown-toggle" data-toggle="dropdown">'; $array .= $category->getName().($category->hasChildren()?'<span class="glyphicon glyphicon-play glyphicon-level-'.$category->getLevel().'" aria-hidden="true"></span>':''); $array .= ' </a>'; if ($category->hasChildren()) { $children = Mage::getModel('catalog/category')->getCategories($category->getId()); $array .= get_categories($children,$category->getLevel()); } $array .= '</li>'."\n"; } return $array . '</ul>'."\n"; }
打印所有类别的方法如下:
//获取所有激活状态的分类模型集合 $categories = Mage::getModel( 'catalog/category' )->getCollection() ->addAttributeToSelect( '*' ) // then the magic happens here: //->addAttributeToFilter('level', array('eq'=>2)) ->addIsActiveFilter(); //循环Collection,并填充数组,可以根据需要的数据进行填充,本例以分类ID作为key,对应的值作为value $allCategory = array (); foreach ( $categories as $category ) { $allCategory [ $category->getParentId()][$category->getId()] = $category ->getName().'('.$category->getLevel().')'; } echo '==><pre>'; print_r($allCategory); echo '</pre>';
获取当前类别的子类别 get subcategories of current / parent category in magento
Method 1:
if you want to get subcategories of current category:
$_currentCategoryId = Mage::registry('current_category')->getId(); $childcategories= Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect("*")->addFieldToFilter('parent_id', $_currentCategoryId)->addAttributeToSort('name', 'ASC'); foreach($childCategories as $childCategory) echo $childCategory->getName(); endforeach;
Method 2:
if you want to get subcategories of specific category:
$parentCategoryId = 3; $children = Mage::getModel('catalog/category')->getCategories($parentCategoryId); foreach ($children as $category) { echo $category->getName(); }
原文/转自: Magento: 获取类别所有子类别 (无限级别-目录树) Get All Sub Categories
相关推荐
Magento是一款强大的开源电子商务平台,其目录结构设计严谨,旨在提供高效且可扩展的网店管理。以下是对Magento目录结构的详细解释: 1. **根目录**: - `.htaccess`:用于配置Apache服务器的重写规则,处理URL...
Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。在Magento的后台管理系统中,管理员可以进行商品的创建、编辑、管理等操作。然而,原生的Magento系统并未提供直接在后台预览商品前端展示效果...
### Magento新手指南知识点详解 #### 一、Magento简介与特性 **Magento**是一款功能强大的开源电子商务平台,由Varien公司(后被Adobe收购)于2008年首次发布。它以其灵活性、可扩展性和丰富的功能集而闻名,是...
Magento目录结构解析与详解 Magento是一款功能强大的电子商务平台,其目录结构复杂且层次分明,旨在支持高度可定制化的在线商店开发。以下是对Magento目录结构的深入解析,旨在帮助开发者更好地理解其架构,以便...
IMI StoreSwitch Magento模块扩展了默认的商店切换器,并显示所有商店视图,无论它们与之相关的商店或网站如何。 默认的magento商店切换器仅显示与当前活动商店关联的商店视图。 它扩展了核心存储开关Magento\Store\...
Magento:registered:2数据集成借助Datatric Connect扩展程序,可以轻松地将Magento:registered:2商店与Datatrics平台连接起来。安装在开始安装过程之前,我们建议您对webshop文件以及数据库进行备份。 有两种安装...
Magento是知名的开源电子商务平台,专为中小型企业设计。它的社区版(Community Edition,简称CE)提供了丰富的功能,包括产品管理、订单处理、购物车、支付集成等,深受开发者喜爱。"Magento CE 1.x源代码"是这个...
在 Magento 中,可以使用 `Mage::getDesign()->getBaseDir()` 方法来获取设计目录路径。例如,获取 frontend 的 design 目录路径可以使用以下代码: ```java Mage::getDesign()->getBaseDir(array('_area'=>'...
Magento Python API 用于连接到Magento Web服务的Python库。 用法 import magento url = 'http://domain.com/' apiuser = 'user' apipass = 'password' # Create an instance of API client = magento . API ( url ...
### Magento权威指南 #### 书籍概述 《Magento权威指南》是由Adam McCombs与Robert Banh共同编著的一本深入探讨Magento电商平台的技术手册。该书由Apress出版社于2009年出版发行,旨在为读者提供一个全面、系统的...
Magento 商城是一个强大的开源电子商务平台,其复杂的目录结构是它能提供强大功能和高度可定制性的基础。让我们深入了解 Magento 的目录结构及其各个部分的作用。 1. **根目录**: - `.htaccess`:用于配置 Apache...
官方文档中并未明确列出兼容的Magento版本,请参考官方文档或联系技术支持获取更多信息。 - **服务器环境检查**:确保服务器满足Magento运行的基本要求,包括PHP版本、MySQL数据库等。 ##### 2.2 关闭缓存 在安装...
"Magento-SMTP-Pro-Email-Extension"是一个专业的SMTP扩展,提供了一系列高级功能。以下是该插件的一些核心特性: 1. **多SMTP配置**:商家可以根据不同的业务需求配置多个SMTP服务器,比如用于测试和正式环境。 2...
- **下载插件**:获取“magento -redis 安装包”,解压后通常包含`lib`和`app`两个目录。 - **lib目录**:包含Redis的相关库文件,这些文件可能包含PHP的Redis扩展或者与Magento集成的特定库。 - **app目录**:...
magento2在产品详情添加自定义tab,1. Enable module with php bin/magento module:enable BelVG_ProductTabs 2. Run php bin/magento setup:upgrade 3. Recompile DI php bin/magento setup:di:compile 4. Recompile...
支持的Magento版本 Magento v2.0.x Magento v2.1.x Magento v2.2.x Magento v2.3.x 从终端使用安装在根文件夹中 php bin/magento maintenance:enable ----------------------------------- #copy kik3gamboa cp ...
适应于 magento1.9.x ================================== 分类的网址达到短路径: http://local.router-switch.com/Price-cisco-router-cisco-router-1900-series_c11 普通搜索 ... 高级搜索 ...对路径都做到短路径,对...
Ajax-magento2-catalog-infinite-scroll.zip,免费的Magento 2扩展,为目录添加无限滚动功能(通过AJAX实现)编码教程,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。...
bitexpert / phpstan-magento 该软件包为PHPStan提供了一些附加功能,以使其可用于Magento 2项目。 安装 安装bitexpert/phpstan-magento的首选方法是通过Composer。 您可以将bitexpert/phpstan-magento添加为dev...