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