我正在使用 OpenCart V1.5.3.1 并尝试在页面加载时对每个类别的产品进行随机化或洗牌。其他排序选项应该仍然有效(按价格、评级、字母顺序,..)。
任何人都可以给我一些指示?
非常感谢,史蒂文
我试过的代码:在控制器/目录/产品/category.php
略低于
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
'price' => $price,
'special' => $special,
'tax' => $tax,
'rating' => $result['rating'],
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
);
我补充说:
shuffle($this->data['products']);
而不是这个,我也试过这个:就在下面:
$results = $this->model_catalog_product->getProducts($data);
我补充说:
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $data['limit']);
不幸的是,这两种方法在选择另一个排序选项(评级、定价、名称)时也会对结果进行洗牌。我只希望页面加载的初始结果被打乱。