Post by antstyl » Tue Feb 19, 2013 5:36 pm

Καλημέρα σε όλους,

υπάρχει κάποιος εύκολος τρόπος να βάλω σε ένα module πληρωμής (το οποίο δεν έχει τέτοια δυνατότητα), τον περιορισμό να ενεργοποιηθεί μόνο όταν το ποσό π.χ. είναι πάνω από 50 ευρώ?

Σκέφτηκα να εισάγω κάτι τέτοιο αλλά δεν έπιασε! ???

Code: Select all

if ($total >= 50) {
			$status = true;
		} else {
			$status = false;
		} 
Καμιά ιδέα?

User avatar
Active Member

Posts

Joined
Mon Nov 12, 2012 5:40 pm

Post by People's Code » Wed Feb 20, 2013 1:55 am

Πρέπει να περιβάλλεις και όλο το method array με if statement
πχ

Code: Select all

if ($status) {
    $method = array( bla, bla bla ...
                        .....
                        .....
                    );
 }

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 antstyl » Fri Feb 22, 2013 6:08 pm

Το προσπάθησα...το πάλεψα... αλλά με νίκησε! :P
Δεν βγάζω άκρη με τίποτα.. οποιαδήποτε βοήθεια δεκτή!! :)

Το τμήμα του κώδικα που με ενδιαφέρει είναι έτσι:

Code: Select all

if ($this->config->get('modulename_status')) {
      		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('hellaspay_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
			
			if (!$this->config->get('modulename_geo_zone_id')) {
        		$status = TRUE;
      		} elseif ($query->num_rows) {
      		  	$status = TRUE;
      		} else {
     	  		$status = FALSE;
			}	
      	} else {
			$status = FALSE;
		}
		
		$method_data = array();
	
		if ($status) {  
      		$method_data = array( 
        		'code'         => 'modulename',
        		'title'      => $this->language->get('text_title'),
				'sort_order' => $this->config->get('modulename_sort_order')
      		);
    	}
   
    	return $method_data;
  	}
}
?>

User avatar
Active Member

Posts

Joined
Mon Nov 12, 2012 5:40 pm

Post by People's Code » Fri Feb 22, 2013 9:09 pm

Δοκίμασε αυτό

Code: Select all

    if ($this->config->get('modulename_status')) {
                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('hellaspay_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
             
             if (!$this->config->get('modulename_geo_zone_id')) {
                  $status = TRUE;
                } elseif ($query->num_rows) {
                     $status = TRUE;
                } else {
                    $status = FALSE;
             }   
             } else {
             $status = FALSE;
          }

          $status = $status && $total >= 50 ? true : false;
          $method_data = array();
       
          if ($status) { 
                $method_data = array(
                  'code'         => 'modulename',
                  'title'      => $this->language->get('text_title'),
                'sort_order' => $this->config->get('modulename_sort_order')
                );
           }
       
           return $method_data;
         }
    }
    ?>

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 antstyl » Thu Feb 28, 2013 5:17 pm

Το δοκίμασα αλλά μου βγάζει το εξής σφάλμα κατά το checkout στους τρόπους πληρωμής..

Notice: Undefined variable: total in /var/www/vhosts/gr/store/catalog/model/payment/modulename.php on line 22

Έχεις καμιά άλλη ιδέα? Σε ευχαριστώ πολύ..
Last edited by antstyl on Thu Feb 28, 2013 9:15 pm, edited 1 time in total.

User avatar
Active Member

Posts

Joined
Mon Nov 12, 2012 5:40 pm

Post by People's Code » Thu Feb 28, 2013 8:47 pm

Μπορείς να ποστάρεις όλο το κώδικα που χρησιμοποιεί το extension (model, view, controller) ?

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 botonakis » Thu Feb 28, 2013 10:13 pm

Αυτό που ζητάς μπορεί να γίνει και με αυτό το extension:

http://www.opencart.com/index.php?route ... S9lICuSBK4

Δεν είναι δωρεάν. Σαν extension σου δίνει τη δυνατότητα να αλλάζεις την τιμή του συνόλου ανά τρόπο πληρωμής και ανά ποσό. Αλλά μπορείς να του δηλώσεις και ότι πχ εάν > 50 εμφάνισε τον τρόπο πληρωμής ή μην τον εμφανίζεις. Δες τις φωτογραφίες που έχει σαν demo.

Από κει και πέρα κάπου θα υπάρχει κάτι παρόμοιο, πιο φθηνό ή δωρεάν.
Μπορείς όμως να στείλεις ποιο payment module είναι (εάν είναι δωρεάν) ή να ζητήσεις από αυτόν που στο έφτιαξε να σου πει (εάν δεν είναι δωρεάν).

User avatar
Active Member

Posts

Joined
Tue Jan 24, 2012 7:55 pm
Location - Athens, Greece

Post by People's Code » Thu Feb 28, 2013 11:01 pm

Το δοκίμασα αλλά μου βγάζει το εξής σφάλμα κατά το checkout στους τρόπους πληρωμής..

Notice: Undefined variable: total in /var/www/vhosts/gr/store/catalog/model/payment/modulename.php on line 22

Έχεις καμιά άλλη ιδέα? Σε ευχαριστώ πολύ..
Πρέπει να έχει δηλωθεί το variable $total και στο method πχ:

Code: Select all

public function getMethod($address, $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 antstyl » Fri Mar 01, 2013 8:58 pm

Λύθηκε με τη συμπληρωματική αλλαγή του Opencart-Hellas.

botonakis σε ευχαριστώ, τώρα έκανα την δουλειά μου αλλά θα το έχω υπόψη για το μέλλον.

User avatar
Active Member

Posts

Joined
Mon Nov 12, 2012 5:40 pm
Who is online

Users browsing this forum: No registered users and 1 guest