-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathinstall.xml
48 lines (38 loc) · 1.59 KB
/
install.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<modification>
<name>GET Cart API</name>
<version>1.0</version>
<link>https://github.com/releu/get-cart-api</link>
<author>releu</author>
<code>get-cart-api</code>
<file path="catalog/controller/product/product.php">
<operation>
<search ><![CDATA[public function index()]]></search>
<add position="before"><![CDATA[public function addtocart() {
$product_id = $this->request->get['product_id'];
$quantity = (isset($this->request->get['quantity']) ? $this->request->get['quantity'] : 1);
$option = array();
$recurring_id = 0;
// Check if product exist
$this->load->model('catalog/product');
$product_info = $this->model_catalog_product->getProduct($product_id);
if ($product_info) {
$product_options = $this->model_catalog_product->getProductOptions($product_id);
foreach ($product_options as $product_option) {
if ($product_option['required'] && empty($option[$product_option['product_option_id']])) {
$this->response->redirect($this->url->link('product/product', 'product_id=' . $product_id));
exit;
}
}
$this->cart->add($product_id, $quantity, $option, $recurring_id);
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
$this->response->redirect($this->url->link('checkout/cart'));
} else {
$this->response->redirect($this->url->link('common/home'));
}
}]]></add>
</operation>
</file>
</modification>