Opencart最低订单价格

时间:2015-10-15 10:50:53

标签: php opencart opencart2.x

我正在尝试在目录/ view / theme / default / template / checkout / confirm.tpl中实现以下代码

<?php if ($this->cart->getSubtotal() >= 1000) { ?>
<div id="payment"><?php echo $payment; ?></div>
<?php } else { ?>
<div class="warning">Minimum 10 Euro to checkout</div>
<?php }  ?> 

但是我收到了错误

Notice: Undefined property: Loader::$cart in C:\xampp\htdocs\optest\catalog\view\theme\default\template\checkout\confirm.tpl on line 51
Fatal error: Call to a member function getSubtotal() on null in C:\xampp\htdocs\optest\catalog\view\theme\default\template\checkout\confirm.tpl on line 51

参考:

Opencart minimum order price exclude one category

http://forum.opencart.com/viewtopic.php?t=53810

2 个答案:

答案 0 :(得分:10)

不一样但你可以这样做:

在checkout.php控制器文件中添加此行。

if ($this->cart->getSubtotal() < 1000) {
    $this->session->data['error'] = 'Your warning message';
    $this->response->redirect($this->url->link('checkout/cart'));
}

if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
    $this->response->redirect($this->url->link('checkout/cart'));
}

多数民众赞成。

答案 1 :(得分:0)

以下代码对我有用:

    <?php if($this->session->data['currency'] == 'USD') : ?>
       <?php if($this->cart->getSubtotal() < 2enter code here0) : ?>
       <div class="warning"><center><?php echo $text_comandamin_eur; ?></center></div>
       <?php endif; ?>
    <?php } elseif($this->session->data['currency'] == 'INR') : ?>
       <?php if($this->cart->getSubtotal() < 1000) : ?>
       <div class="warning"><center><?php echo $text_comandamin_ron; ?></center></div>
       <?php endif; ?>
    <?php endif; ?>