【问题标题】:magento random products order and remembering the ordermagento 随机产品订单并记住订单
【发布时间】:2014-05-28 07:57:24
【问题描述】:

我很难弄清楚这一点。我正在尝试获取这样的随机产品列表:

$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 调用浏览页面。

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

【问题讨论】:

    标签: php sql magento zend-framework


    【解决方案1】:

    我可以想到两种可能适合您需求的解决方案。

    第一种方法是通过一个独特产品字段(例如产品 ID)的 CRC32 进行订购。可能值得在表中添加一个新列以加快速度,而不是在每次选择时为每一行计算字段的 CRC32。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多