这个问题与randomize default products in opencart类似,但更简单。我想让我的产品最新上市。我在catalog/model/catalog/product.php
中进行了以下更改:
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
} else {
$sql .= " ORDER BY " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.date_added";
}
但我认为这对默认排序没有任何影响。
答案 0 :(得分:0)
我不知道您拥有哪个版本的OC,但您还应该考虑修改订单部分。在OC 1.5.5中它是这样的:
if (isset($data['order']) && ($data['order'] == 'DESC')) {
$sql .= " DESC, LCASE(pd.name) DESC";
} else {
$sql .= " ASC, LCASE(pd.name) ASC";
}
在这种情况下,通过您的更改,如果未提供排序或订单数据,则产品将从最旧到最新(最早的第一个)进行排序。我建议将订单部分更改为以下内容:
if (isset($data['order']) && ($data['order'] == 'ASC')) {
$sql .= " ASC, LCASE(pd.name) ASC";
} else {
$sql .= " DESC, LCASE(pd.name) DESC";
}
如果您说没有变化,请尝试删除您的浏览器会话,因为排序,过滤和其他选项都存储在那里。