我的商店在$ 25
销售所有商品。然后我想根据客户结账时的总产品数量做一些折扣。
如果客户购买的总数量超过50,则每种产品的每个产品价格将从$25
覆盖到$22
。
如下所示:
if (total_quantity > 80) {
price for each product is $19
}
elseif (total_quantity > 50) {
price for each product is $22
}
else {
normal price
}
现在我可以在客户结账时使用$this->cart->countProducts()
检测总数量,但现在我不确定如何超出价格(我确定这与文件控制器\ checkout \ confirm.php相关 )。
希望有人可以指导我。
更新:
现在我可以根据总数量过滤所有产品价格:
if ($this->cart->countProducts() > 3) {
$product_price = '24.00';
}
elseif ($this->cart->countProducts() > 2) {
$product_price = '23.00';
}
else {
$product_price = $product['price'];
}
$this->data['products'][] = array(
'product_id' => $product['product_id'],
'name' => $product['name'],
'model' => $product['model'],
'option' => $option_data,
'quantity' => $product['quantity'],
'subtract' => $product['subtract'],
'price' => $this->currency->format($this->tax->calculate($product_price, $product['tax_class_id'], $this->config->get('config_tax'))),
'total' => $this->currency->format($this->tax->calculate($product_price, $product['tax_class_id'], $this->config->get('config_tax')) * $product['quantity']),
'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'])
);
但现在我不知道在哪里覆盖小计和总数。
p / s:所有产品价格固定为25美元
OC版:最新版
答案 0 :(得分:0)
这更像是寻找用法和方法的答案,而不是直接的具体答案。
如果您不确定如何使用某个对象可用的方法/变量,请尝试使用类似的方法输出它们。
<?php
echo "<pre>";
print_r(get_class_methods($objectName));
print_r(get_object_vars($objectName));
echo "</pre>";
?>
它将显示可用方法的列表。它可能有一个名为setPrice()之类的方法或类似的东西,至少它会让你更深入地了解一些可用的选项?
答案 1 :(得分:0)
这是我的解决方案:
<强>目录/控制器/结帐强>
在$this->data['products'][] = array(
之前添加以下代码(第361行)
if ($this->cart->countProducts() > 80) {
$product_price = '24.00';
}
elseif ($this->cart->countProducts() > 50) {
$product_price = '23.00';
}
else {
$product_price = $product['price'];
}
将<{1}}替换为
$this->data['products'][] = array(
<强>系统/文库强>
在$this->data['products'][] = array(
'product_id' => $product['product_id'],
'name' => $product['name'],
'model' => $product['model'],
'option' => $option_data,
'quantity' => $product['quantity'],
'subtract' => $product['subtract'],
'price' => $this->currency->format($this->tax->calculate($product_price, $product['tax_class_id'], $this->config->get('config_tax'))),
'total' => $this->currency->format($this->tax->calculate($product_price, $product['tax_class_id'], $this->config->get('config_tax')) * $product['quantity']),
'href' => $this->url->link('product/product', 'product_id=' . $product['product_id'])
);
之后添加以下代码(第22行)
if (!$this->data) {
将此//Count how many product in cart
$total_quantity = $this->session->data['cart'];
$total_product_in_cart = 0;
foreach ($total_quantity as $t_q) {
$total_product_in_cart += $t_q;
}
$total_product_in_cart;
(第173行)与
$price = $product_query->row['price'];