条件if语句

时间:2017-07-25 08:35:36

标签: php magento

我想在条件语句中添加类别列表,如何添加多个类别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; ?>

3 个答案:

答案 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;
?>