Page 1 of 1
Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Tue Feb 19, 2013 5:36 pm
by antstyl
Καλημέρα σε όλους,
υπάρχει κάποιος εύκολος τρόπος να βάλω σε ένα module πληρωμής (το οποίο δεν έχει τέτοια δυνατότητα), τον περιορισμό να ενεργοποιηθεί μόνο όταν το ποσό π.χ. είναι πάνω από 50 ευρώ?
Σκέφτηκα να εισάγω κάτι τέτοιο αλλά δεν έπιασε!
Code: Select all
if ($total >= 50) {
$status = true;
} else {
$status = false;
}
Καμιά ιδέα?
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Wed Feb 20, 2013 1:55 am
by People's Code
Πρέπει να περιβάλλεις και όλο το method array με if statement
πχ
Code: Select all
if ($status) {
$method = array( bla, bla bla ...
.....
.....
);
}
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Fri Feb 22, 2013 6:08 pm
by antstyl
Το προσπάθησα...το πάλεψα... αλλά με νίκησε!

Δεν βγάζω άκρη με τίποτα.. οποιαδήποτε βοήθεια δεκτή!!
Το τμήμα του κώδικα που με ενδιαφέρει είναι έτσι:
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;
}
}
?>
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Fri Feb 22, 2013 9:09 pm
by People's Code
Δοκίμασε αυτό
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;
}
}
?>
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Thu Feb 28, 2013 5:17 pm
by antstyl
Το δοκίμασα αλλά μου βγάζει το εξής σφάλμα κατά το checkout στους τρόπους πληρωμής..
Notice: Undefined variable: total in /var/www/vhosts/gr/store/catalog/model/payment/modulename.php on line 22
Έχεις καμιά άλλη ιδέα? Σε ευχαριστώ πολύ..
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Thu Feb 28, 2013 8:47 pm
by People's Code
Μπορείς να ποστάρεις όλο το κώδικα που χρησιμοποιεί το extension (model, view, controller) ?
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Thu Feb 28, 2013 10:13 pm
by botonakis
Αυτό που ζητάς μπορεί να γίνει και με αυτό το extension:
http://www.opencart.com/index.php?route ... S9lICuSBK4
Δεν είναι δωρεάν. Σαν extension σου δίνει τη δυνατότητα να αλλάζεις την τιμή του συνόλου ανά τρόπο πληρωμής και ανά ποσό. Αλλά μπορείς να του δηλώσεις και ότι πχ εάν > 50 εμφάνισε τον τρόπο πληρωμής ή μην τον εμφανίζεις. Δες τις φωτογραφίες που έχει σαν demo.
Από κει και πέρα κάπου θα υπάρχει κάτι παρόμοιο, πιο φθηνό ή δωρεάν.
Μπορείς όμως να στείλεις ποιο payment module είναι (εάν είναι δωρεάν) ή να ζητήσεις από αυτόν που στο έφτιαξε να σου πει (εάν δεν είναι δωρεάν).
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Thu Feb 28, 2013 11:01 pm
by People's Code
Το δοκίμασα αλλά μου βγάζει το εξής σφάλμα κατά το 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) {
Re: Περιορισμός τρόπου πληρωμής με ελάχιστο ποσό αγοράς
Posted: Fri Mar 01, 2013 8:58 pm
by antstyl
Λύθηκε με τη συμπληρωματική αλλαγή του Opencart-Hellas.
botonakis σε ευχαριστώ, τώρα έκανα την δουλειά μου αλλά θα το έχω υπόψη για το μέλλον.