我正在开一家OpenCart 1.5商店,他们想要为他们拥有的各种T恤设计订购最低订单金额 .

首先,整体订单必须至少为12项任何分类 . 大多数服装都有尺码分类(XS到4XL) . 每种服装款式都可以用七种设计中的一种进行丝网印刷 . 他们希望每个设计在订购时至少有6个 - 这可以分布在任何可打印的屏幕上 .

例如,顾客可以购买6件带有设计A的衬衫,6件带有设计B的衬衫,最小数量为12件 . 他们还可以购买3件男式T恤,2件女式T恤和一件带设计的背心A和类似数量的设计B使最小值为12 .

如果客户试图订购少于六个任何设计,则应该有一个错误,要求他们添加更多设计产品 .

最小购物车共有12个项目可以正常工作,问题是如果客户没有订购每个设计的最小数量,系统将无法捕获它 .

我在第196行的catalog / controller / checkout / cart.php中提出了这个验证

如果有人可以推荐我如何使这项工作,我将不胜感激 .

$products = $this->cart->getProducts();

foreach ($products as $product) {
$product_total = 0;
$product_design_a = 0;
$product_design_b = 0;
$product_design_c = 0;
$product_design_d = 0;
$product_design_e = 0;
$product_design_f = 0;
$product_design_g = 0;

foreach ($products as $product_2) {
    if ($product_2['product_id'] == $product['product_id']) {
        $product_total += $product_2['quantity'];
    }
    if (($product_2['category_id'] = 77) or ($product_2['category_id'] = 84)) {
        if ($product_2['option_value_id'] = 1238) {
            $product_design_a += $product_2['quantity'];
        }
        if ($product_2['option_value_id'] = 1239) {
            $product_design_b += $product_2['quantity'];
        }
        if ($product_2['option_value_id'] = 1240) {
            $product_design_c += $product_2['quantity'];
        }
        if ($product_2['option_value_id'] = 1241) {
            $product_design_d += $product_2['quantity'];
        }
        if ($product_2['option_value_id'] = 1242) {
            $product_design_e += $product_2['quantity'];
        }
        if ($product_2['option_value_id'] = 1245) {
            $product_design_f += $product_2['quantity'];
        }
        if ($product_2['option_value_id'] = 1246) {
            $product_design_g += $product_2['quantity'];
        }
    }
}

if ($product_design_a + $product_design_b + $product_design_b + $product_design_b + $product_design_b + $product_design_b + $product_design_b != 0) {
    if ($product_design_a != 0 and $product_design_a < 6) {
        $this->data['error_warning'] = 'Please add more products with Will Flex For Food w CE Logo Back design';
    }
    elseif ($product_design_b != 0 and $product_design_b < 6) {
        $this->data['error_warning'] = 'Please add more products with Like a Snack w CE Logo Back design';
    }
    elseif ($product_design_c != 0 and $product_design_c < 6) {
        $this->data['error_warning'] = 'Please add more products with Hangry w CE Logo Back design';
    }
    elseif ($product_design_d != 0 and $product_design_d < 6) {
        $this->data['error_warning'] = 'Please add more products with Eat Clean Train Dirty w CE Logo Back design';
    }
    elseif ($product_design_e != 0 and $product_design_e < 6) {
        $this->data['error_warning'] = 'Please add more products with Feed Me w CE Logo Back design';
    }
    elseif ($product_design_f != 0 and $product_design_f < 6) {
        $this->data['error_warning'] = 'Please add more products with Clean Eatz Logo Front Only design';
    }
    elseif ($product_design_g != 0 and $product_design_g < 6) {
        $this->data['error_warning'] = 'Please add more products with Cafe Front Only design';
    }

    if ($product['minimum'] > $product_total) {
        $this->data['error_warning'] = sprintf($this->language->get('error_minimum'), $product['name'], $product['minimum']);
    }
}