Στο σημερινό μας άρθρο θα σας δείξουμε πως μπλοκάρετε τους επισκέπτες σας από το να προσθέτουν περισσότερα από 1 ποσότητα προϊόντος στο καλάθι τους.
OpenCart έκδοση 2.x / 3.x / 4.x
Βήμα 1o – Δημιουργήστε τον κώδικα
Δημιουργήστε ένα αρχείο με το όνομα: diy_only_one_in_cart.ocmod.xml
Επικολλήστε τον παρακάτω κώδικα:
<?xml version="1.0" encoding="utf-8"?>
<modification>
<name>DIY Only 1 quantity in Cart</name>
<code>csl_diy_only_one_in_cart</code>
<version>1.0.0</version>
<author>CSL</author>
<link>https://eshop.opencartgreece.gr</link>
<file path="system/library/cart/cart.php">
<operation>
<search>
<![CDATA[public function add]]>
</search>
<add position="after">
<![CDATA[
$quantity = 1;
]]>
</add>
</operation>
<operation>
<search>
<![CDATA[
$this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity
]]>
</search>
<add position="before">
<![CDATA[/*]]>
</add>
</operation>
<operation>
<search>
<![CDATA[
$this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity
]]>
</search>
<add position="after">
<![CDATA[*/]]>
</add>
</operation>
</file>
<file path="catalog/controller/checkout/cart.php">
<operation>
<search>
<![CDATA[if (!$json) {]]>
</search>
<add position="before">
<![CDATA[
$products = $this->cart->getProducts();
$yes = 1;
foreach ($products as $product) {
if ($product['product_id'] == $product_id) {
$yes = 0;
foreach ($product_options as $product_option) {
foreach ($product['option'] as $option_cart) {
if ($product_option['product_option_id'] == $option_cart['product_option_id']) {
if (!isset($option[$product_option['product_option_id']])) {
$option[$product_option['product_option_id']] = "";
}
if (!isset($option_cart['value'])) {
$option_cart['value'] = "";
}
if ($option[$product_option['product_option_id']] != $option_cart['value']) $yes = 1;
}
}
}
}
}
]]>
</add>
</operation>
<operation>
<search>
<![CDATA[$json['success'] = sprintf($this->language->get('text_success')]]>
</search>
<add position="after">
<![CDATA[
if ($yes == 0) $json['success'] = $this->language->get('text_edit');
elseif ($quantity > 1) $json['success'] = $json['success']." ".$this->language->get('text_edit');
]]>
</add>
</operation>
<operation>
<search>
<![CDATA[$this->session->data['success'] = $this->language->get('text_remove');]]>
</search>
<add position="replace">
<![CDATA[$this->session->data['success'] = $this->language->get('text_edit');]]>
</add>
</operation>
</file>
<file path="catalog/language/en-gb/checkout/cart.php">
<operation error="skip">
<search>
<![CDATA[$_['text_remove']]]>
</search>
<add position="after">
<![CDATA[
$_['text_edit'] = 'Warning: You can add only one quantity to the cart!';
]]>
</add>
</operation>
</file>
<file path="catalog/language/el-gr/checkout/cart.php">
<operation error="skip">
<search>
<![CDATA[$_['text_remove']]]>
</search>
<add position="after">
<![CDATA[
$_['text_edit'] = 'Δεν επιτρέπεται να προσθέσετε παραπάνω από 1 ποσότητα του προϊόντος!';
]]>
</add>
</operation>
</file>
</modification> Βήμα 2ο – Ανεβάστε το αρχείο
Ανεβάστε το αρχείο που φτιάξατε μέσα στον φάκελο “system”
Βήμα 3ο – Ενεργοποίηση
Συνδεθείτε στο διαχειριστικό του OpenCart καταστήματος σας. Πηγαίνετε στα modifications και πατήστε Refresh. Ανανεώστε δηλαδή τις τροποποιήσεις.
