使用 PHP 和 Magento 静态块创建 2 个单独的随机生成的横幅


Create 2 Separate Randomly Generated Banners using PHP and Magento Static Blocks

有没有办法显示 2 个横幅(不复制相同的横幅?换句话说,我不能只重复"echo"代码,因为这样它可以随机选择同一个横幅两次。有没有办法制作一个由 2 个随机选择的横幅组成的数组?

<?PHP
$collection = Mage::getModel('cms/block')->getCollection()
    ->addFieldToFilter('identifier', array('like'=>'ROMM-RFBanner_%'))
    ->addFieldToFilter('is_active', 1);
$blockCount = $collection->count();
echo ('<div class="footer-banner-boxes row clearfix">');
echo $this->getLayout()->createBlock('cms/block')->setBlockId('ROMM-RFBanner_'.mt_rand(1, $blockCount))->toHtml();
echo $this->getLayout()->createBlock('cms/block')->setBlockId('ROMM-RFBanner_'.mt_rand(1, $blockCount))->toHtml();
echo ('</div>'); ?>

据我所知,您可以使用

$collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
$collection->getSelect()->limit(2);

或者只使用 PHP(虽然不优雅(,您可以阅读此内容以使用 $first_id = mt_rand(1,$count) 然后通过阅读从 mt_rand(( 的第二次调用中排除 $first_id 如何从 1~N 中获取随机值,但排除 PHP 中的几个特定值?