Php 获取magento中产品的最后一个子类别
我已经搜索了好几天,以获取magento中产品的最后一个子类别 实际上,我要做的是显示产品放置的最后一个子类别。例如,我有塑料和玻璃作为产品。我想显示最后一个子类别,即杯子或盘子 |聚会Php 获取magento中产品的最后一个子类别,php,magento,Php,Magento,我已经搜索了好几天,以获取magento中产品的最后一个子类别 实际上,我要做的是显示产品放置的最后一个子类别。例如,我有塑料和玻璃作为产品。我想显示最后一个子类别,即杯子或盘子 |聚会 --|男孩们 ----|蝙蝠侠 --------|杯子 -----------|塑料 -----------|玻璃 --------|盘子 ----|超人 我已经编辑了list.phtml文件,我可以从数组中获取类别id和名称,但它们都混淆了。因此,无法确定哪一类是最后一类。 magento中是否有任何默认功能
--|男孩们
----|蝙蝠侠
--------|杯子
-----------|塑料
-----------|玻璃
--------|盘子
----|超人
我已经编辑了list.phtml文件,我可以从数组中获取类别id和名称,但它们都混淆了。因此,无法确定哪一类是最后一类。 magento中是否有任何默认功能?还是有人能帮我? 提前感谢。编辑 好的,根据您的描述,听起来您想从当前类别中获取子类别。(即在
batman
类别视图中获取cups
和plates
)
以下内容应该是获取当前子项所需的内容
<?php
$_helper = Mage::helper('catalog/category');
$children = Mage::registry( 'current_category' )->getChildrenCategories();
?>
<ul>
<?php foreach( $children as $child ): ?>
<li><a href="<?php echo $_helper->getCategoryUrl($child); ?>"><?php echo $child->getName() ?></a></li>
<?php endforeach; ?>
</ul>
当产品只有一个类别Id分配给它时,它工作得更好。如果为一个产品分配了多个类别,则可能无法获得所需的类别
此外,您还可以以稍微快一点的方式获取,但如果搜索产品,则此方法不起作用:
$_category = Mage::getModel( 'catalog/category' )->load( Mage::registry( 'current_category' )->getParentId() );
我没有测试上面的线路,但它应该可以工作。只有通过浏览类别才能访问产品。您所说的“最后一个类别”是指分配给它的最后一个类别?类别树下最远的位置?是的,请看我刚才编辑的地图。你可以更好地理解我的意思。对不起,这不是我需要的。我需要获取该产品所属类别的最后一个子项。或者有什么方法可以让我按级别获得类别名称?请澄清您的问题,以便我更好地理解。您可以通过
$category->getLevel()
和$category->getPosition()
获取类别的级别和位置。这将分别给出层次和排序顺序。实际上我知道getlevel方法,但这还不够。例如,如果产品处于某种水平,而不是我们构建它的条件。我想要一个内置的magento功能,它可以为我提供包含产品的子类别名称。在您的描述中,您说玻璃和塑料都是产品。您想同时获得杯子
和盘子
类别吗?玻璃
和塑料
是否也属于另一类(即根类/杯/玻璃
)?或者玻璃
和塑料
不是真正的产品吗?在上面的例子中,玻璃和塑料都是产品。是的,它可以被分配到一个或多个类别。我只想检索“杯子”,而不是盘子,如果产品没有分配给它。
$_category = Mage::getModel( 'catalog/category' )->load( Mage::registry( 'current_category' )->getParentId() );