Post by ftitus » Tue Jan 07, 2014 2:31 am

Salut!
Vreau sa schimb sistemul de livrare astfel:
1.Pentru comenzi intre 0-99.9 lei - livrare prin Posta (flat) 10 lei - sau Curier (x lei) =>acum functioneaza asa.
2. Pentru comenzi intre 100 -249.99 lei - livrare prin curier 10 lei => sa apara chestia asta ca un modul flat, ideal ar fi sa dispara modulul primul (pct.1 - Posta)
3. Pentru comenzi peste 250 lei livrare Gratuit prin Curier. => sa ramana doar modulele curierilor.
Cum fac asta?

Acum la mine pe site functioneaza modulul Flat (posta romana) cu suma fixa, modulul FAN - care calculeaza el, si free, care se activeaza la suma de 250 lei.

Va multumesc pentru timp si ajutor!!!
Titus

New member

Posts

Joined
Fri May 11, 2012 2:53 am

Post by andrei.bogdan » Tue Jan 07, 2014 8:05 pm

Salut,

Din cate stiu eu metodele nu dispar, ci pot doar sa apara.
Cum ai zis tu, progresiv, in functie de suma, pot aparea extra 2 sau 3 metode insa nu se pot elimina cele existente, intrucat poti seta doar o limita minima la care sa apara, nu exista o limita maxima pentru ascundere.

Cred ca se poate face cu ceva custom PHP. Da-mi un PM poate te pot ajuta.

Andrei.

Andrei
andrei.opencart[at]yahoo.com
Themes and Extensions


Active Member

Posts

Joined
Mon Mar 25, 2013 4:52 am

Post by inactiveaccount9912 » Tue Jan 07, 2014 10:41 pm

Trebuie sa modifice modele metodelor de livrare din catalog/model/shipping/ si sa copiezi codul care compara subtotalul cu suma introdusa in admin la setarile modulul in celalat modul pe care il vrei dezactivat, dar inversezi semnul de comparatie.
Exemplu:
In catalog/model/shipping/free.php gasesti codul:

Code: Select all

if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
			$status = false;
		}
care insemna: daca subtotalul cosului este mai mic decat valoare pusa de tine in admin la limita inferioara pentru livrare gratuita atunci metoda de livrare gratuita nu apare.
Si adaugi acel cod in fisierul pentru fan curier cu semn invers:

Code: Select all

if ($this->cart->getSubTotal() > $this->config->get('free_total')) {
			$status = false;
		}
care inseamna exact ca atunci cand livrarea gratuita este activa, metoda fan curier nu mai apare.
Codul trebuie sa-l adaugi inainte de linia:

Code: Select all

if ($status) {
Apoi in flat.php faci aproximativ acelasi lucru insa cu codul din fisierul metodei fan curier.

Expert Member

Posts

Joined
Fri May 14, 2010 2:36 am

Post by Para81szs » Thu May 15, 2014 2:48 am

Am si eu o problema, vreau sa fac ca cei din Bucuresti sa aiba o taxa de livrare mai mica decat restul tarii.

EXP: daca selectez orasul oradea sa-mi arate 20 ron, daca selectez bucuresti sa-mi arate 10 ron....aveti idee cum face???

Eu am modificat la localizare dar nu se intample nimic, am vazut ca in Metode de livrare se poate pune o suma fixa dar nici un rezultat din ce vreaueu sa iasa si ramane pretul setata acolo :(....are cineva vre-o idee>? cum trebuie procedat?

thx

Magazin Online http://www.footjoystore.eu


New member

Posts

Joined
Thu Mar 27, 2014 12:20 am
Location - Bucuresti

Post by inactiveaccount9912 » Sat May 17, 2014 2:46 am

Poate te ajuta acest tutorial: http://www.opencartnews.com/tutorials/h ... lat-rates/ , doar ca tu o sa faci geozona separat pentru bucuresti si restul tarii.

Expert Member

Posts

Joined
Fri May 14, 2010 2:36 am
Who is online

Users browsing this forum: No registered users and 194 guests