[ΚΑΝΤΟ ΜΟΝΟΣ ΣΟΥ] Να επιτρέπεται μόνο 1 ποσότητα ανά προϊόν στο καλάθι

Στο σημερινό μας άρθρο θα σας δείξουμε πως μπλοκάρετε τους επισκέπτες σας από το να προσθέτουν περισσότερα από 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. Ανανεώστε δηλαδή τις τροποποιήσεις.