magento随机产品订单并记住订单

时间:2014-05-28 07:57:24

标签: php sql magento zend-framework

我很难搞清楚这一点。我试图获得一份随机产品清单:

$category = Mage::getModel('catalog/category')->load($catId);
$products = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToSelect('*')
                ->addAttributeToFilter('status',1)
                ->addCategoryFilter($category)
                ->addAttributeToFilter('visibility',array('in' => Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH))
                ->setPageSize(20)
                ->setCurPage($page);
$products->getSelect()->order(new Zend_Db_Expr('RAND()'));

这段代码工作正常,但我需要的是记住订单,这样可以浏览带有ajax调用的页面。

有没有办法让这个随机性由某种数字控制,如果给定的数字总是返回相同的行顺序?

1 个答案:

答案 0 :(得分:0)

我可以考虑两种可能满足您需求的解决方案。

第一种是通过CRC32订购一个独特的产品字段(例如产品ID)。可能值得在表中添加一个新列以使其更快,而不是每次选择时为每行的字段CRC32编制。

第二个建议是添加一个新列,在该列中为表中的每一行放置一个随机生成的数字。