Bei Versankostenfreie Lieferung die Versandart auswählen

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Bei Versankostenfreie Lieferung die Versandart auswählen

Beitragvon wolfschw » 07.08.2013, 13:07

Hallo Ralf,

gibt es die Möglichkeit bei Versandkostenfreie Lieferung, das der Kunden die Versandart auswählen kann?

jetzt wird ja immer die günstigste Versandart ausgewählt.

gruß

Wolfgang

r23
Beiträge: 1577
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitragvon r23 » 07.08.2013, 13:50

Hallo,

Die Logik aus dem Versandkostenfreien Modul müsste in die Versandmodule übernommen werden..

Code: Alles auswählen

if (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') { switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) { case 'national': if ($oOrder->delivery['country_id'] == STORE_COUNTRY) $pass = true; break; case 'international': if ($oOrder->delivery['country_id'] != STORE_COUNTRY) $pass = true; break; case 'both': $pass = true; break; default: $pass = false; break; } if ( ($pass == true) && ( ($oOrder->info['total'] - $oOrder->info['shipping_cost']) >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) { $oOrder->info['shipping_method'] = $this->title; $oOrder->info['total'] -= $oOrder->info['shipping_cost']; $oOrder->info['shipping_cost'] = 0; } }
und eben angepasst...

d.h. im Modul für item... zum Beispiel

Code: Alles auswählen

$this->quotes = array('id' => $this->code, 'module' => $aLang['module_shipping_item_text_title'], 'methods' => array(array('id' => $this->code, 'title' => $aLang['module_shipping_item_text_way'], 'cost' => (MODULE_SHIPPING_ITEM_COST * $total_count) + MODULE_SHIPPING_ITEM_HANDLING)));
müsste man 'cost' => (MODULE_SHIPPING_ITEM_COST * $total_count) + MODULE_SHIPPING_ITEM_HANDLING) ändern...

ich würde evtl. den Inhalt von 'title' => $aLang['module_shipping_item_text_way], noch ändnern in "Versandkostenfrei per'

Beste Grüße

Ralf

wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitragvon wolfschw » 07.08.2013, 18:59

Hallo Ralf,

in welcher Datei muß wo was geändert werden?

gruß

Wolfgang

r23
Beiträge: 1577
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitragvon r23 » 08.08.2013, 03:17

Hallo,

in

~/shop/inlcudes/pages/checkout_shipping.php

prüft der Shop mit

Code: Alles auswählen

if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) { switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) { case 'national': if ($oOrder->delivery['country_id] == STORE_COUNTRY) $pass = true; break; case 'international': if ($oOrder->delivery['country_id] != STORE_COUNTRY) $pass = true; break; case 'both': $pass = true; break; default: $pass = false; break; } $free_shipping = false; if ( ($pass == true) && ($oOrder->info['subtotal] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) { $free_shipping = true; require 'includes/languages/' . $sLanguage . '/modules/order_total/ot_shipping.php'; } } else { $free_shipping = false; }
ob Versandkostenfrei geliefert werden soll. D.h. aus den o.g. Zeilen wird

Code: Alles auswählen

$free_shipping = false;
Damit der Shop nun Versandkostenfrei leifern kann, muss man die Versandarten bearbeiten. Die Scripte liegen in dem Verzeichnis
~/shop/includes/modules/shipping.php

zum Beispiel itm.php

Dieser Bereich

Code: Alles auswählen

$this->quotes = array('id' => $this->code, 'module' => $aLang['module_shipping_item_text_title], 'methods' => array(array('id' => $this->code, 'title' => $aLang['module_shipping_item_text_way], 'cost' => (MODULE_SHIPPING_ITEM_COST * $total_count) + MODULE_SHIPPING_ITEM_HANDLING)));

ist für die Datestellung und Berechnung der versandkosten verantwortlich.

man füt zuerst für cost und für title einen Sting ein.

Code: Alles auswählen

$cost = (MODULE_SHIPPING_ITEM_COST * $total_count) + MODULE_SHIPPING_ITEM_HANDLING; $title = $aLang['module_shipping_item_text_way]; $this->quotes = array('id' => $this->code, 'module' => $aLang['module_shipping_item_text_title], 'methods' => array(array('id' => $this->code, 'title' => $title, 'cost' => $cost));
für die Versandkostenfreie Überprüfung erweitern wir die o.g. Zeilen um

Code: Alles auswählen

if (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') { switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) { case 'national': if ($oOrder->delivery['country_id] == STORE_COUNTRY) $pass = true; break; case 'international': if ($oOrder->delivery['country_id] != STORE_COUNTRY) $pass = true; break; case 'both': $pass = true; break; default: $pass = false; break; } if ( ($pass == true) && ( $oOrder->info['total] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) { $title = 'Versandkostenfrei mit' . $aLang['module_shipping_item_text_way]; $cost = 0; } else { $cost = (MODULE_SHIPPING_ITEM_COST * $total_count) + MODULE_SHIPPING_ITEM_HANDLING; $title = $aLang['module_shipping_item_text_way]; } } $this->quotes = array('id' => $this->code, 'module' => $aLang['module_shipping_item_text_title], 'methods' => array(array('id' => $this->code, 'title' => $title, 'cost' => $cost));
Hoffe die Antwort hilft weiter.

ralf

wolfschw
Beiträge: 396
Registriert: 01.03.2009, 21:23
Wohnort: Ilshofen
Kontaktdaten:

Beitragvon wolfschw » 09.08.2013, 07:57

Hallo Ralf,

könntest du bitte die Änderung ab den 02.09.2013 vornehmen ?

mir ist das grad zu viel.

Rechnung dann wie gehabt.

Gruß

Wolfgang

r23
Beiträge: 1577
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitragvon r23 » 09.08.2013, 14:49

Hallo,

danke für den Auftrag! Baue ich dir am 02.09 ein.

Beste Grüße

Ralf

r23
Beiträge: 1577
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitragvon r23 » 01.09.2013, 12:03

Hallo,

Modul ist fertig :)
:thumbsup:

und baue ich euch am Montag zwischen 11 und 15 uhr in den Shop ein.

Beste Grüße

Ralf


Zurück zu „MyOOS: Support“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste