这是我的代码:
$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();
}
}我只想显示一个特定类别(Cat)名称:
如果产品(始终只显示一个)属于特定的猫(具体的猫in是:3、4、5、6、7、8),它应该显示猫的名称(但只显示这些in之一的猫的名称)。
每种产品都只在这些猫中的一种,但它有更多的猫(儿童猫和默认猫)。
例如:我有一个来自cat 4的产品。我的代码显示了所有的cat名称(默认情况下,cat 4和子猫),但我只想要cat 4的名称。我的if表达式不起作用。有谁知道怎么解决这个问题吗?
发布于 2014-05-20 02:08:39
您希望检查变量是否属于某个集合,因此明智的做法是构建一个数组,并检查该值是否在数组中:
$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();
}
}发布于 2017-04-03 15:05:48
您可以通过产品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();
}https://stackoverflow.com/questions/23744032
复制相似问题