ControllerCheckoutCart에서 추가 방법을 수정해야합니다. 그래서
$this->cart->add($this->request->post['product_id'], $quantity, $option, $recurring_id);
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));
이 라인이 두 줄 정도 줄에서이 함수에서 336 교체 하십시오를 다음 줄
public function add()
을 파일 /catalog/controller/checkout/cart.php을 열고 찾기
//BEGIN OF THE PATCH
/*
OTRIGINAL CODE
$this->cart->add($this->request->post['product_id'], $quantity, $option, $recurring_id);
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));
*/
//control if the cart isn't empty
$can_add_product=true;
if ($this->cart->hasProducts()>0){
$products = $this->cart->getProducts();
foreach ($products as $product) {
$product_just_in_cart = $this->model_catalog_product->getProduct($product['product_id']);
$manufacturer_id_in_cart=$product_just_in_cart['manufacturer_id'];
$manufacturer_name_in_cart=$product_just_in_cart['manufacturer'];
//we just analyze only the first product
break;
}
if ($product_info['manufacturer_id']!=$manufacturer_id_in_cart) {
$can_add_product=false;
}
}
if ($can_add_product) {
$this->cart->add($this->request->post['product_id'], $quantity, $option, $recurring_id);
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));
}
else {
$json['success'] =sprintf('For this order you can add only products of '.$manufacturer_name_in_cart, $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));
}
//END OF THE PATCH
이 패치를 테스트 할 수 있습니다 here
동일한 제조업체의 다른 제품을 추가하더라도이 테스트를 거쳤습니다. "이 제품을 추가 할 수있는이 주문의 경우"또한 쇼핑 카드 미리보기에서 정의되지 않은 상태로 생성됩니다.이 스냅 샷은 http : //를 참조하십시오. prnt.sc/cir99c – Jahir
OpenCart의 마지막 버전을 사용하고 있습니다. print_r $ 제품을 공유하십시오. [0] –
Ok. 버전 2.0.3.1을 사용하고 있습니다. 나는 print_r i를 공유 할 것입니다 – Jahir