PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Code: Select all
<modification>
<id>Restrict COD</id>
<version>1.0</version>
<vqmver>2.1.5</vqmver>
<author>Straightlight</author>
<file name="catalog/model/total/voucher.php">
<operation>
<search position="before"><![CDATA[$total_data[] = array(]]></search>
<add trim="true"><![CDATA[
$this->session->data['total_data']['code'] = 'voucher';
]]>
</add>
</operation>
</file>
<file name="catalog/model/payment/cod.php">
<operation>
<search position="before"><![CDATA[} elseif ($query->num_rows) {]]></search>
<add trim="true"><![CDATA[
} elseif ($this->cart->hasDownloadOnly() !== false) {
$status = false;
} elseif (!empty($this->session->data['total_data']['code']) && html_entity_decode($this->session->data['total_data']['code'], ENT_QUOTES, 'UTF-8') == 'voucher') {
$status = false;
]]>
</add>
</operation>
</file>
<file name="system/library/cart.php">
<operation>
<search position="before" offset="1"><![CDATA[?>]]></search>
<add trim="true"><![CDATA[
public function hasDownloadOnly() {
$download = false;
foreach ($this->getProducts() as $product) {
if (!empty($product['download'])) {
$download = true;
break;
} elseif (empty($product['download'])) {
$download = false;
break;
}
}
return $download;
}
]]>
</add>
</operation>
</file>
</modification>
Το ξαναέγραψα από την αρχή και λειτουργεί ως εξής:
α) Όταν υπάρχουν μόνο vouchers ή και downloads στο καλάθι η αντικαταβολή απενεργοποιείται.
β) Όταν υπάρχουν vouchers ή και downloads στο καλάθι αλλά και κάποιο προϊόν που αποστέλλεται, η αντικαταβολή ενεργοποιείται.
Κάνε τις απαραίτητες δοκιμές με διαφορετικούς συνδυασμούς και πες μου αν όλα είναι οκ.
Attachments
COD Disable for Downloads and / or Vouchers v1.1
PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Η έκδοση του OC που έχω είναι η 1.5.3.1
Το επιπλέον extension που μπορεί να επηρεάζει τη λειτουργία του νέου vqmod για την αντικαταβολή και τις δωροεπιταγές, είναι ένα extension που έχω βάλει για να γίνει χρεώσιμη η αντικαταβολή (όμως επειδή δεν είναι δωρεάν, δεν είμαι σε θέση να αναρτήσω τον κώδικά του)...
Καμιά ιδέα;
Από κεκτημένη ταχύτητα όταν έκανα copy / paste το κώδικα για να στο φτιάξω vqmod, είχα αφήσει "replace" το πρώτο search ενώ ήθελε "before" ...
Αν θες δοκίμασε το ξανά. Σε εμένα πάντως λειτουργεί σωστά σε v1.5.3.1.
PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Code: Select all
REQUEST URI : /index.php?route=checkout/payment_method
MOD DETAILS:
modFile : /home/www/clients/client2/web15/web/vqmod/xml/cod_disable.xml
id : COD Disable for Downloads and / or Vouchers
version : 1.0
vqmver : 2.1.6
author : sugarfreedesign.gr
SEARCH NOT FOUND (ABORTING MOD): $total = $total;
PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Το vqmod έψαχνε το ανύπαρκτο $total = $total; (ένα "σκουπίδι" κώδικα που είχε ξεμείνει στο cod.php μου από άλλες δοκιμές και ξέχασα να το διαγράψω. ) για να τοποθετήσει το κώδικα που δημιουργούσε τη λογική αφαίρεσης του cod.
PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Δούλεψε! Δεν βλέπω την αντικαταβολή πλέον!Opencart-Hellas wrote:Το ξαναανέβασα με μία μικρή διόρθωση στο vqmod.
Από κεκτημένη ταχύτητα όταν έκανα copy / paste το κώδικα για να στο φτιάξω vqmod, είχα αφήσει "replace" το πρώτο search ενώ ήθελε "before" ...
Αν θες δοκίμασε το ξανά. Σε εμένα πάντως λειτουργεί σωστά σε v1.5.3.1.
Πως θα μπορούσα να το κάνω edit να μην βλέπω και την κατάθεση... ή να βλέπω μόνο Paypal στην περιπτωση αγοράς Gift Code?
Ευχαριστώ!
Έχω κατασκευάσει ένα extension σχετικό με αυτό που ζητάς. Εκτός αυτού κάνει και πολλά άλλα χρήσιμα πράγματα.
Μπορείς να το δεις εδώ:
http://www.opencart.com/index.php?route ... n_id=14183
Έχει και live demo για να διαπιστώσεις αν πράγματι είναι αυτό ακριβώς που θες.
Users browsing this forum: No registered users and 3 guests