Php Opencart按最新产品排序

Php Opencart按最新产品排序,php,opencart,Php,Opencart,这个问题有点类似,但更简单。我想把我的产品按“最新优先”列出。我在catalog/model/catalog/product.php中做了以下更改: if(isset($data['sort'])和&in_数组($data['sort'],$sort_data)){ 如果($data['sort']='pd.name'| |$data['sort']=='p.model'){ $sql.=“按LCASE排序(“.$data['sort']”); }否则{ $sql.=“排序依据”$data['s

这个问题有点类似,但更简单。我想把我的产品按“最新优先”列出。我在
catalog/model/catalog/product.php
中做了以下更改:

if(isset($data['sort'])和&in_数组($data['sort'],$sort_data)){
如果($data['sort']='pd.name'| |$data['sort']=='p.model'){
$sql.=“按LCASE排序(“.$data['sort']”);
}否则{
$sql.=“排序依据”$data['sort'];
}
}否则{
$sql.=“按p.date添加的订单”;
}

<>但是我不认为这对默认排序有什么影响。

我不知道你有哪个版本的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";
    }
在这种情况下,随着您的更改,如果未提供排序或订单数据,则产品将从最旧到最新(最旧优先)排序。我建议将订单部分更改为以下内容:

    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";
    }
如果您说没有更改,也可以尝试删除您的浏览器会话,因为排序、筛选和其他选项都存储在那里