0

有没有办法显示 2 个横幅(不重复相同的横幅?)换句话说,我不能只是重复“回声”代码,因为这样它可以随机选择相同的横幅两次。有没有办法制作一组随机选择的 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>'); ?>
4

1 回答 1

0

据我所知,你可以使用

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

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

于 2013-10-09T19:31:26.237 回答