我想在条件语句中添加类别列表,如何添加多个类别ID? 使用像123,124,125或123 || 124
我有一个很大的类别列表,所以我正在寻找最简洁的方法来实现这个目标
谢谢
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Framework\Registry')->registry('current_product');
$categories = $product->getCategoryIds(); /*will return category ids array*/
foreach($categories as $category){
$cat = $objectManager->create('Magento\Catalog\Model\Category')->load($category);
echo $cat->getId();
}
?>
<?php if($cat->getId()==123): ?>
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();?>
<?php endif; ?>
答案 0 :(得分:5)
使用in_array
PHP函数:
<?php if(in_array($cat->getId(), [123, 124, 125])): ?>
答案 1 :(得分:0)
最佳解决方案是使用in_array功能
<?php
if(in_array($cat->getId(), $your_array){
$block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();
}
?>
答案 2 :(得分:0)
使用in_array()
:这将检查数组中是否存在值。如果存在,则返回true。
<?php
if(in_array($cat->getId(), $categories ):
echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('myblockid')->toHtml();
endif;
?>