这是我的代码:
$product = Mage::getModel('catalog/product')->load($_item['product_id']);
$cats = $product->getCategoryIds();
foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->load($category_id);
if ($category_id == 3 || 4 || 5 || 6 || 7 || 8) {
echo $_cat->getName();
}
}
我想只显示一个特定的类别(猫)名称:
如果产品(它总是只显示一个)在特定的猫(特定的猫ID是:3,4,5,6,7,8)中,它应该显示猫的名字(但只有其中一个ids的猫名。)
每只产品只有一只猫,但它有更多的猫(小猫和默认猫)。
例如:我有一个来自cat 4的产品。我的代码显示所有猫的名字(默认,猫4和孩子猫),但我只想要猫的名字4.我的if表达式不起作用。有人知道如何解决这个问题吗?
答案 0 :(得分:2)
您想要检查您的变量是否是集合的一部分,因此建立一个数组并检查该值是否在数组中是明智的:
$elements = array(3, 4, 5, 6, 7, 8);
$product = Mage::getModel('catalog/product')->load($_item['product_id']);
$cats = $product->getCategoryIds();
foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->load($category_id);
if (in_array($category_id, $elements)) {
echo $_cat->getName();
}
}
答案 1 :(得分:2)
您可以按产品ID获取特定产品的Magento类别名称或类别ID。您关注以下代码:
$_proId = $this->getProduct()->getId();
$product = Mage::getModel('catalog/product')->load($_proId);
$cats = $product->getCategoryIds();
foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->load($category_id) ;
$currentCategory = $_cat->getId();
}