我正在尝试在opencart中添加一个新的排序方法 “按高度排序” 。
A.location是:catalog / model / catalog / product.php - >在这里添加了p.height
$sort_data = array(
'pd.name',
'p.model',
'p.quantity',
'p.price',
'rating',
'p.sort_order',
'p.date_added',
'p.height'
);
B中。在同一个文件中
elseif($data['sort'] == 'p.height' ){
$sql .= " ORDER BY(" . $data['sort'] . ")ASC";
/*$sql .= "SELECT * FROM". DB_PREFIX . "product p ORDER BY p.height DESC";*/
}
℃。位置是:/catalog/controller/product/category.php
$this->data['sorts'][] = array(
'text' => $this->language->get('text_size_asc'),
'value' => 'height-ASC',
'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=height&order=ASC' . $url)
);
结果是我可以在选项中看到“按高度排序”,但是当我选择它时没有任何反应返回默认的排序值。
任何人都可以建议我做错了吗?
答案 0 :(得分:1)
应该是p.height-ASC
而不是height-ASC
对于'value'
密钥,否则它无法识别它。您还需要在&sort=height
密钥
&sort=p.height
更改为'url'