Post by geonick » Tue Sep 04, 2012 11:06 pm

Όταν κάποιος αγοράζει δωροεπιταγή, δε θα έπρεπε να έχει τη δυνατότητα να πληρώσει με αντικαταβολή. Βρήκα ένα vqmod το οποίο απενεργοποιεί την αντικαταβολή (κάτω από συγκεκριμένες συνθήκες όπως μόνο downloadable προϊόντα ή ύπαρξη δωροεπιταγής στο καλάθι), όμως δε λειτουργεί. Γνωρίζει κανείς κάποια μέθοδο για αντιμετώπιση του προβλήματος;

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Thu Sep 06, 2012 3:27 pm

Πόσταρε το vqmod να δω αν είναι εύκολο να τροποποιηθεί όπως θες.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by geonick » Thu Sep 06, 2012 5:54 pm

Ευχαριστώ για την πρόθεση βοήθειας. Παραθέτω το xml:

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>

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Thu Sep 06, 2012 11:43 pm

Όντως δεν λειτουργεί ...

Το ξαναέγραψα από την αρχή και λειτουργεί ως εξής:
α) Όταν υπάρχουν μόνο vouchers ή και downloads στο καλάθι η αντικαταβολή απενεργοποιείται.
β) Όταν υπάρχουν vouchers ή και downloads στο καλάθι αλλά και κάποιο προϊόν που αποστέλλεται, η αντικαταβολή ενεργοποιείται.

Κάνε τις απαραίτητες δοκιμές με διαφορετικούς συνδυασμούς και πες μου αν όλα είναι οκ.

Attachments

COD Disable for Downloads and / or Vouchers v1.1

Last edited by People's Code on Fri Sep 07, 2012 4:51 am, edited 2 times in total.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by geonick » Thu Sep 06, 2012 11:59 pm

Ευχαριστώ για τη βοήθεια. Το δοκίμασα αλλά εξακολουθώ να έχω διαθέσιμη την αντικαταβολή :-(

Η έκδοση του OC που έχω είναι η 1.5.3.1

Το επιπλέον extension που μπορεί να επηρεάζει τη λειτουργία του νέου vqmod για την αντικαταβολή και τις δωροεπιταγές, είναι ένα extension που έχω βάλει για να γίνει χρεώσιμη η αντικαταβολή (όμως επειδή δεν είναι δωρεάν, δεν είμαι σε θέση να αναρτήσω τον κώδικά του)...

Καμιά ιδέα;

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Fri Sep 07, 2012 4:35 am

Το ξαναανέβασα με μία μικρή διόρθωση στο vqmod.

Από κεκτημένη ταχύτητα όταν έκανα copy / paste το κώδικα για να στο φτιάξω vqmod, είχα αφήσει "replace" το πρώτο search ενώ ήθελε "before" ...

Αν θες δοκίμασε το ξανά. Σε εμένα πάντως λειτουργεί σωστά σε v1.5.3.1.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by geonick » Fri Sep 07, 2012 4:49 am

Σε σένα δουλεύει; Χμμμ Κάτι παίζει σε μένα τότε! Πάει πουθενά το μυαλό σου;

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;

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Fri Sep 07, 2012 4:53 am

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

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by geonick » Fri Sep 07, 2012 5:27 am

Θα το κατεβάσω, όμως δουλεύει με μια αλλαγή που έκανα εγώ:

αντικατέστησα το $total = $total; με το $method_data = array();

Λογικά κάτι τέτοιο έχεις κάνει και εσύ (θα μάθω σε λίγο)...

Ευχαριστώ για το χρόνο και τη βοήθειά σου!

;-)

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Fri Sep 07, 2012 6:01 am

Ακριβώς ... Ο κώδικας είναι οκ.
Το vqmod έψαχνε το ανύπαρκτο $total = $total; (ένα "σκουπίδι" κώδικα που είχε ξεμείνει στο cod.php μου από άλλες δοκιμές και ξέχασα να το διαγράψω. ) για να τοποθετήσει το κώδικα που δημιουργούσε τη λογική αφαίρεσης του cod.

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by petsoukos » Fri Nov 08, 2013 6:52 pm

Opencart-Hellas wrote:Το ξαναανέβασα με μία μικρή διόρθωση στο vqmod.

Από κεκτημένη ταχύτητα όταν έκανα copy / paste το κώδικα για να στο φτιάξω vqmod, είχα αφήσει "replace" το πρώτο search ενώ ήθελε "before" ...

Αν θες δοκίμασε το ξανά. Σε εμένα πάντως λειτουργεί σωστά σε v1.5.3.1.
Δούλεψε! Δεν βλέπω την αντικαταβολή πλέον!
Πως θα μπορούσα να το κάνω edit να μην βλέπω και την κατάθεση... ή να βλέπω μόνο Paypal στην περιπτωση αγοράς Gift Code?

Ευχαριστώ!

Newbie

Posts

Joined
Fri Nov 08, 2013 5:14 am

Post by zbelts » Tue Nov 12, 2013 6:02 am

Καλησπέρα,

Έχω κατασκευάσει ένα extension σχετικό με αυτό που ζητάς. Εκτός αυτού κάνει και πολλά άλλα χρήσιμα πράγματα.

Μπορείς να το δεις εδώ:
http://www.opencart.com/index.php?route ... n_id=14183

Έχει και live demo για να διαπιστώσεις αν πράγματι είναι αυτό ακριβώς που θες.

My Opencart Extensions


Newbie

Posts

Joined
Sun Oct 13, 2013 5:35 am
Who is online

Users browsing this forum: No registered users and 4 guests