顧客が最小値と最大値を挿入するときに製品価格をフィルタリングしようとします。
製品.php
public function getProducts($data = array()) {
....
if (!empty($data['min'])) {
$sql .= " AND p.price BETWEEN '" .$data['min']. "' AND 9999 ";
}
このコードを使用すると、カテゴリ ページに価格 x から 9999 までのすべての製品が一覧表示されます。
問題は、一部の製品が持っていtax
て、値が別のテーブルに格納されていることです( oc_tax_rate
)。では、クエリで製品の最終価格を取得する方法は? (p.p.price + tax)、次のようなもの:
if (!empty($data['min'])) {
$sql .= " AND final_price BETWEEN '" .$data['min']. "' AND 9999 ";
}
ページコントローラー/category.phpをチェックすると
$this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax'))
上記のコードは最終価格を返します。
OC: v1.5.6