Άδειασμα καλαθιού στο OpenCart 3.x

Πώς να προσθέσετε ένα ‘Clear Cart’ κουμπί στο OpenCart 3.x Shopping Cart.

Έχετε ποτέ παρατηρήσει κάτι που μπορεί να λείπει από το αναπτυσσόμενο μενού προβολής καλαθιού στο OpenCart 3.0 store ; Αν υπάρχει ένας λόγος που το OpenCart έχει γίνει η δημοφιλέστερη πλατφόρμα παγκοσμίως για την κατασκευή eshop είναι η ιδιαίτερη ευκολία που δίνει στους web designers – web developers να επέμβουν στον κώδικα του και να εξελίξουν την λειτουργικότητα του με ιδιαίτερα απλό τρόπο.

Δεν έχετε ποτέ βρεθεί σε ένα σενάριο όπου περιηγείστε σε ένα ηλεκτρονικό κατάστημα και προσθέτετε είδη στο καλάθι ένα προς ένα …
… όταν ξαφνικά αποφασίζετε ότι θέλετε να αρχίσετε πάλι από την αρχή, ανεξαρτήτως λόγου;

Δεν θα ήταν ευκολότερο να έχετε μόνο ένα κουμπί που θα αφαιρεί όλα τα αντικείμενα από το καλάθι αγορών σας; Την λύση έδωσε η isenselabs και σας μεταφέρουμε με χαρά εμείς.

Φυσικά θα ήταν καλύτερο να έχετε επιλογή με ένα κλικ για να καθαρίσετε το καλάθι σας.

Και είμαστε εδώ για να σας δείξουμε πώς να τοποθετήσετε δωρεάν αυτό το κουμπί στο OpenCart 3.x.

Από εδώ και στο εξής, θα είναι ευκολότερο για τους πελάτες σας να διαχειρίζονται τα περιεχόμενα του καλαθιού αγορών τους.

Για να πάρετε αυτό το κουμπί, πρέπει να εγκαταστήσετε μια απλή τροποποίηση στο κατάστημά σας.
Θα σας δείξουμε πώς φαίνεται παρακάτω.
Όταν τελειώσετε, η προβολή καλαθιού σας θα μοιάζει με αυτό:

 

Για να αποκτήσετε αυτήν την τροποποίηση στο κατάστημά σας, ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου όπως το Notepad ++, το Dreamweaver κ.λπ.

Αντιγράψτε αυτό το κομμάτι του κώδικα:

001 <modification>
002     <name>ClearShoppingCart by DreamWeaver.Gr</name>
003     <version>1.0 (Initial)</version>
004     <link><a class="vglnk" href="https://www.dreamweaver.gr" rel="nofollow"><span>https</span><span>://</span><span>dreamweaver.gr</span><span>.</span><span>com</span></a></link>
005     <author>dreamweaver.gr</author>
006     <code>isenselabs_clearshoppingcart</code>
007
008     <file path="catalog/view/theme/*/template/common/cart.twig">
009         <operation>
010             <search><![CDATA[<a href="{{ cart }}"><strong><i class="fa fa-shopping-cart"></i>]]></search>
011             <add position="replace"><![CDATA[
012             <script type="text/javascript">
013             function clearCart() {
014                 $.ajax({
015                   url: 'index.php?route=checkout/cart/clearcart',
016                   dataType: 'json',
017                   success: function(json) {
018                       $('#cart-total').html(json['total']);
019                       if (getURLVar('route') == 'checkout/cart' || getURLVar('route') =='checkout/checkout') {
020                           location = 'index.php?route=checkout/cart';
021                       else {
022                           $('#cart > ul').load('index.php?route=common/cart/info ul li');
023                       }
024                   }
025               });
026             }
027             </script>
028             <a style="cursor:pointer;" onclick="clearCart();" ><strong><i class="fa fa-times"></i> {{button_clearcart }}</strong></a>&nbsp;&nbsp;&nbsp;<a href="{{ cart }}"><strong><i class="fa fa-shopping-cart"></i>
029             ]]></add>
030         </operation>
031     </file>
032   
033     <file path="catalog/controller/checkout/cart.php">
034         <operation>
035             <search><![CDATA[public function add() {]]></search>
036             <add position="before"><![CDATA[
037             public function clearcart() {
038                 $this->load->language('checkout/cart');
039                 $json array();
040                 $this->cart->clear();
041                 $total = 0;
042                 
043                 unset($this->session->data['vouchers']);
044                 unset($this->session->data['shipping_method']);
045                 unset($this->session->data['shipping_methods']);
046                 unset($this->session->data['payment_method']);
047                 unset($this->session->data['payment_methods']);
048                 unset($this->session->data['reward']);
049
050                 $json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total$this->config->get('config_currency')));
051
052                 if (isset($this->request->get['shoppingcart']) && $this->request->get['shoppingcart']=='true') {
053                     $this->response->redirect($this->url->link('checkout/cart'));
054                 else {
055                     $this->response->addHeader('Content-Type: application/json');
056                     $this->response->setOutput(json_encode($json));
057                 }
058             }
059             ]]></add>
060         </operation>
061     </file>
062
063     <file path="catalog/controller/common/cart.php">
064         <operation>
065             <search><![CDATA[$this->load->language('common/cart');]]></search>
066             <add position="after"><![CDATA[
067             $data['button_clearcart'] = $this->language->get('button_clearcart');
068             ]]></add>
069         </operation>
070     </file>
071   
072     <file path="catalog/controller/checkout/cart.php">
073         <operation>
074             <search><![CDATA[$this->load->language('checkout/cart');]]></search>
075             <add position="after"><![CDATA[
076             $data['button_clearcart'] = $this->language->get('button_clearcart');
077             $data['link_clearcart'] = $this->url->link('checkout/cart/clearcart','shoppingcart=true');
078             ]]></add>
079         </operation>
080     </file>
081   
082     <file path="catalog/language/en-gb/common/cart.php">
083         <operation>
084             <search><![CDATA[$_['text_recurring'] = 'Payment Profile';]]></search>
085             <add position="before"><![CDATA[
086             $_['button_clearcart']  = 'Clear Cart';
087             ]]></add>
088         </operation>
089     </file>
090   
091     <file path="catalog/language/en-gb/checkout/cart.php">
092         <operation>
093             <search><![CDATA[$_['column_total']             = 'Total';]]></search>
094             <add position="before"><![CDATA[
095             $_['button_clearcart']  = 'Clear Cart';
096             ]]></add>
097         </operation>
098     </file>
099   
100     <file path="catalog/view/theme/*/template/checkout/cart.twig">
101         <operation>
102             <search><![CDATA[{% if modules %}]]></search>
103             <add position="before"><![CDATA[
104                 <a href="{{ link_clearcart }}" class="btn btn-default" title="{{button_clearcart}}">{{button_clearcart}}</a>
105             ]]></add>
106         </operation>
107     </file> 
108 </modification>

 

Τώρα επικολλήστε το στο πρόγραμμα επεξεργασίας κειμένου.

 

Αποθηκεύστε το αρχείο και ονομάστε το install.xml.

Στη συνέχεια, συμπιέστε το σε .ZIP και δώστε ένα όνομα όπως clearcart.ocmod.zip .

Οτιδήποτε τελειώνει στο .ocmod.zip θα λειτουργήσει.

Μεταβείτε στο OpenCart admin και στη συνέχεια στο Extensions > Installer.,

Μεταφορτώστε το .ZIP και, στη συνέχεια, μεταβείτε στην ενότητα Modifications.

Κάντε κλικ στο κουμπί Refresh.

Τώρα είστε έτοιμοι!

 

Για πολυγλωσσικά καταστήματα OpenCart

Δεδομένου ότι η παραπάνω τροποποίηση αφορά καταστήματα με προεπιλεγμένη αγγλική γλώσσα, πρέπει να είσαστε έτοιμοι για οποιαδήποτε άλλη γλώσσα.

Αυτή η πρόσθετη τροποποίηση σας επιτρέπει να προσθέσετε το ίδιο κουμπί στη δική σας γλώσσα.

Θα δώσουμε ένα παράδειγμα με ένα δείγμα κώδικα που μεταφράζει το κουμπί Clear Cart στα ελληνικά.

Αντιγράψτε τον κώδικα:

01 <?xml version="1.0" encoding="utf-8"?>
02 <modification>
03     <name>Clear Cart Modification</name>
04     <code>clear_cart_modification</code>
05     <version>1.0</version>
06     <author>DreamWeaver.Gr</author>
07     <link><a class="vglnk" href="https://www.dreamweaver.gr" rel="nofollow"><span>https</span><span>://</span><span>dreamweaver.gr</span><span>.</span><span>com</span></a></link>
08     
09     <file path="catalog/language/en-gb/checkout/cart.php">
10         <operation>
11             <search><![CDATA[$_['text_recurring']]]></search>
12             <add position="before"><![CDATA[
13                $_['button_clearcart']  = 'Clear Cart';
14             ]]></add>
15         </operation>
16      </file>
17
18     <file path="catalog/language/gr/checkout/cart.php">
19         <operation>
20             <search><![CDATA[$_['text_recurring']]]></search>
21             <add position="before"><![CDATA[
22                $_['button_clearcart']  = 'Καθαρισμός Καλαθιού';
23             ]]></add>
24         </operation>
25      </file>
26
27         <file path="catalog/language/gr/common/cart.php">
28         <operation>
29             <search><![CDATA[$_['text_recurring']]]></search>
30             <add position="before"><![CDATA[
31             $_['button_clearcart']  = 'Καθαρισμός Καλαθιού';
32             ]]></add>
33         </operation>
34     </file>
35
36 </modification>

 

 

Αλλάξτε το κείμενο “Clear Cart” με το αντίστοιχο στη γλώσσα σας.
Τώρα, επαναλάβετε την ίδια ενέργεια.

Επικολλήστε το στο πρόγραμμα επεξεργασίας κειμένου, αποθηκεύστε το ως install.xml , συμπιέστε το σε .ZIP με το .ocmod.zip στο τέλος και φορτώστε το με το πρόγραμμα εγκατάστασης .

Μεταβείτε στις Modifications και κάντε κλικ στην επιλογή Refresh.

Το νέο κουμπί Clear Cart στο Storefront

Τώρα που η τροποποίησή μας λειτουργεί, μπορείτε εδώ να δείτε πώς φαίνεται στην προβολή καλαθιού.

 

Υπάρχουν και περισσότερα!

Το κουμπί Clear Cart εμφανίζεται επίσης στη σελίδα του καλαθιού.

Όταν κάνετε κλικ στο σύνδεσμο View Cart, θα σας οδηγήσει στη σελίδα πριν συνεχίσετε την ολοκλήρωση του checkout.

Οι πελάτες σας θα μπορούν πλέον να επεξεργάζονται γρήγορα ο καλάθι αγορών τους και να έχουν μια καλύτερη εμπειρία χρήσης στο κατάστημά σας.

Ελπίζουμε να σας άρεσε αυτή η τροποποίηση! Μπορείτε να μας ενημερώστε μας για το τι γνώμη έχετε στα παρακάτω σχόλια ενώ θα χαρούμε ιδιαιτέρως να μας καλέσετε στο 210 77 13 284 και να συζητήσουμε τις ιδιαίτερες ανάγκες σας!

Για την dreamweaver.gr

Θανάσης Δαβαλάς