Jump to content
xt:Commerce Community Forum

Keine Nachnahme Bei Versandkostenfreier


k-1

Recommended Posts

Hallo zusammen,

wie ist es m?glich das der Shop die Nachnahme nicht berechnet bei versandkostenfreier Lieferung?

Auf der letzten Seite vor Kaufabschluss sieht man das die Nachnahme gew?hlt ist, aber die Nachnahmegeb?hr nicht in der Rechnungsaufstellung auftaucht.

Im Admin ist aber die Einstellung richtig gesetzt. Ist dieser Fehler bekannt oder tritt er nur bei mir auf?

VielenDank f?r Eure Hilfe!

Viele Gr?sse

Norbert

Auszug Bestellung:

-->

Bestellung aufgeben:

?ber die Links (Bearbeiten) k?nnen Sie ggf. noch alle Abschnitte Ihrer Bestellung ?ndern.

Versandadresse:(Bearbeiten)

Heinz Bestseller

Hauptstrasse

00000 Zuhause

Germany Rechnungsadresse:(Bearbeiten)

Heinz Bestseller

Hauptstrasse

00000 Zuhause

Germany

Versandart: Versandkostenfrei (Nur Kleidung und Schlafs?cke) (Bearbeiten)

Zahlungsweise: Nachnahme (Bearbeiten)

Artikel: (Bearbeiten)

1 x Kombitasche Lilly 25,50 EUR

Zwischensumme: 25,50 EUR

Versandkostenfrei (Nur Kleidung und Schlafs?cke): 0,00 EUR

inkl. MwSt. 16%: 3,52 EUR

Summe: 25,50 EUR

<---

Auszug Versandart/Versandkostenfrei

Versandkostenfreie Lieferung aktivieren

True

Erlaubte Versandzonen

leer

Anzeige aktivieren

True

Mindestbetrag

0

Sortierreihenfolge

2

<--

Auszug Shopeinstellung Zusammenfassung/Nachnahmegeb?hr

-->

Nachnahmegeb?hr

true

Sortierreihenfolge

35

Pauschale Versandkosten

00:4.74

Versandkosten pro St?ck

00:4.74

Tabellarische Versandkosten

00:4.74

Chronopost Zone Rates

00:4.74

DHL ?sterreich

00:4.74

Schweizerische Post

00:4.74

Versandkosten nach Zonen

00:4.74

?sterreichische Post AG

00:4.74

Deutsche Post AG

00:4.74

Versandkostenfrei

00:4.74

Steuerklasse

Standardsatz

<--

Link to comment
Share on other sites

Hallo zusammen,

tritt der Fehler bei Euch nicht auf?

Habe noch einen neuen Shop installiert und auch dort die versandkostenfreie M?glichkeit eingebaut.

Das gleiche Problem. Ber Zahlart Nachnahme und versandkostenfreier Lieferung wird diese In der Rechnungszusammenfassung nicht aufgef?hrt und berechnet.

Ich vermute mal es verschickt hier keiner versandkostenfrei per Nachnahme???

Viele Gr??e

Norbert

Link to comment
Share on other sites

Noch mal Hallo zusammen,

habe es mal mit der Demoversion auf dieser Seite probiert und auch hier tritt der Fehler auf. Kann man davon ausgehen das keiner Ware versenden kann, bei der er f?r den Kunden die Versandkosten ?bernimmt und der Kunde per Nachnahme zahlt?

Hat jemand eine Idee an welcher Stelle man das wie selber ab?ndern kann?

Viele Gr?sse

Norbert

Link to comment
Share on other sites

Hallo zusammen,

also in manchen F?llen gibt man sich hier ja richtig M?he um bei identischen Problemen doch noch irgendwie eine L?sung zu erzwingen. Aber f?r dieses Problem gibt es keine M?glichkeit diese Funktion durch andere Module auszugleichen.

Es ist sicherlich in vielen Branchen so das es eine versandkostenfrei Lieferung (vkL) unabh?ngig von Gewicht und Preis gibt und sei es nur aus Kundenservice. Da funktiniert es nicht dies ?ber die tabellarischen Versandkosten zu l?sen, weil die vkL nur bei bestimmten Artikeln angeboten wird. Es m?ssen also beide, bzw. mehrere M?glichkeiten nebenher bestehen, die man dann noch per Nachnahme abrechnen kann.

Und diese M?glichkeit besteht derzeit nicht, weder in meinem ersten noch im 2. oder gar im Demoshop auf diesen Seiten und wie man hier so lesen kann, bei vielen anderen auch nicht.

Bitte helft uns!!!!

Viele Gr?sse

Norbert

Link to comment
Share on other sites

Habe leider das gleiche Problem. Ab 30 € Bestellwert liefer ich vesandkostenfrei. Aber bei Zahlung per Nachnahme h?tte ich schon gerne vom Kunden den Aufschlag von 4 €. Nur wird dies vom Shop nicht ber?cksichtigt.

W?rde mich auch sehr ?ber eine L?sungsm?glichkeit freuen.

Danke & Gru?

Stefan

Link to comment
Share on other sites

  • 2 weeks later...

Da das auch f?r uns ein Problem ist, habe ich das mal debugged (mit dem Zend-Debugger), und gefunden, dass das ein Bug im xtCommerce ist.

Im Modul "includes/modules/order_total/ot_cod_fee.php" (das f?r die Nachnahmeberechnung zust?ndig ist), gibt es bei Zeile 56 folgenden Code:


if ($_SESSION['shipping']['id'] == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

if ($_SESSION['shipping']['id'] == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

if ($_SESSION['shipping']['id'] == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

if ($_SESSION['shipping']['id'] == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

if ($_SESSION['shipping']['id'] == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

if ($_SESSION['shipping']['id'] == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

if ($_SESSION['shipping']['id'] == 'free_free') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREE);


in dem die Nachnahmegeb?hren berechnet werden. Das Problem ist nun, dass die "MODULE_ORDER_TOTAL_COD_FEE_FREE" (die f?r die NN-Geb?hren bei versandkostebfeiheit verwendet werden) nicht definiert sind, weshalb in diesem Fall eben keine NN-Geb?hren berechnet werden. "MODULE_ORDER_TOTAL_COD_FEE_FREE" wird im ganzen xtCommerce-Code nur in der "install"-Methode der "ot_cod_fee"-Klasse verwendet, wird also auch im Admin-Bereich nicht gesetzt. L?sung: Eine erste ("quick-and-dirty")-L?sung sieht wie folgt aus: Der vorstehende Code wird ersetzt durch den folgenden Code

//W. Kaiser


	$Shipping_Id = $_SESSION['shipping']['id'];

	if ($Shipping_Id == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

	if ($Shipping_Id == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

	if ($Shipping_Id == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

	if ($Shipping_Id == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

	if ($Shipping_Id == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

	if ($Shipping_Id == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

	if ($Shipping_Id == 'free_free')

	{

  if (MODULE_ORDER_TOTAL_COD_FEE_FREE == 'MODULE_ORDER_TOTAL_COD_FEE_FREE')

  {

//

// Die "Nachnahme(COD)-Kosten-Tabelle f?r die "versandkostenfreie" Lieferung ist nicht definiert!

// Die folgende Anweisung entkommentieren, die die statt dessen zu verwendende Nachnahme(COD)-Kosten-Tabelle enth?lt

//

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

 $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

  }

  else

  {

 $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREE);

  }

	}	

//W. Kaiser


Darin wird die fehlende "MODULE_ORDER_TOTAL_COD_FEE_FREE" ersetzt durch die zu verwendende Ersatz-Versandkostenart

Eleganter w?re es nat?rlich, dies abh?ngig von der eingestellten Versandkostenart zu tun, oder im Admin-Bereich einstellbar zu machen. Vielleicht hat da ja jemand noch ein wenig Code dazu....

Auf jeden Fall werden damit auch bei versandkostenfreier Lieferung die Nachnahmegeb?hren wieder berechnet.

Wie immer gilt nat?rlich: vor jeder ?nderung die Original-Routine sichern!

Link to comment
Share on other sites

Hallo Herr Kaiser,

das finde ich aber spitze das Sie eine L?sung gefunden haben. Leider funktioniert es bei mir nicht. K?nnen Sie mir sagen was ich falsch gemacht habe?

Mein Code in der 3er-Version sieht auch etwas anders aus:

//process installed shipping modules

if ($_SESSION['shipping']['id'] == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

if ($_SESSION['shipping']['id'] == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

if ($_SESSION['shipping']['id'] == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

if ($_SESSION['shipping']['id'] == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

if ($_SESSION['shipping']['id'] == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

if ($_SESSION['shipping']['id'] == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

// module chp

if ($_SESSION['shipping']['id'] == 'chp_ECO') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

if ($_SESSION['shipping']['id'] == 'chp_PRI') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

if ($_SESSION['shipping']['id'] == 'chp_URG') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

// module chronopost

if ($_SESSION['shipping']['id'] == 'chronopost_chronopost') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHRONOPOST);

// module DHL

if ($_SESSION['shipping']['id'] == 'dhl_ECX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_DOX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_SDX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_MDX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_WPX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

Den habe ich dann wie von Ihnen beschrieben ab der Zeile 56 ersetzt, womit es jetzt so aussieht:

//process installed shipping modules

//W. Kaiser

$Shipping_Id = $_SESSION['shipping']['id'];

if ($Shipping_Id == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

if ($Shipping_Id == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

if ($Shipping_Id == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

if ($Shipping_Id == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

if ($Shipping_Id == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

if ($Shipping_Id == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

if ($Shipping_Id == 'free_free')

{

if (MODULE_ORDER_TOTAL_COD_FEE_FREE == 'MODULE_ORDER_TOTAL_COD_FEE_FREE')

{

//

// Die "Nachnahme(COD)-Kosten-Tabelle f?r die "versandkostenfreie" Lieferung ist nicht definiert!

// Die folgende Anweisung entkommentieren, die die statt dessen zu verwendende Nachnahme(COD)-Kosten-Tabelle enth?lt

//

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

$cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);

// $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

}

else

{

$cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREE);

}

}

//W. Kaiser

// module chp

if ($_SESSION['shipping']['id'] == 'chp_ECO') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

if ($_SESSION['shipping']['id'] == 'chp_PRI') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

if ($_SESSION['shipping']['id'] == 'chp_URG') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHP);

// module chronopost

if ($_SESSION['shipping']['id'] == 'chronopost_chronopost') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CHRONOPOST);

// module DHL

if ($_SESSION['shipping']['id'] == 'dhl_ECX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_DOX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_SDX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_MDX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

if ($_SESSION['shipping']['id'] == 'dhl_WPX') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

Bestimmt habe ich einen d?mlichen Fehler gemacht, aber ich sehe ihn nicht.

Den einzigen Unterschied den ich erkenne ist, das in meiner Datei diese Zeile

vorher gar nicht vorhanden war:

if ($_SESSION['shipping']['id'] == 'free_free') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREE);

Was muss ich bei mir ?ndern damit es klappt?

Vielen Dank f?r die Hilfe im voraus!

Gruss

Norbert

Link to comment
Share on other sites

Beim ersten Blick faellt auf

In der 3 er Version fehlt komplett die Behandlung der Versankostenfreiheit bei Nachnahme!

if ($_SESSION['shipping']['id'] == 'free_free') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);

[code]

Offenbar wird das in der 3 er Version anders geloest

Link to comment
Share on other sites

Hallo,

dann Danke f?r eure Hilfe dann muss ich das Thema doch an meinen Kollegen abtreten der sich dann um eine L?sung bem?ht. Es k?nnte nat?rlich auch jeder freie Mitarbeiter aus unserem Team Sponsor werden.

Komisch eigentlich das keiner der Sponsoren dieses Problem hat und schon l?ngst mal eine L?sung gecodet hat.

Viele Gr??e

Norbert

Link to comment
Share on other sites

Hat er dann ja vielleicht, aber das w?rdest du dann auch nur im Sponsorenforum oder im Sponsorendownloadbereich.

Und im Sponsorenforum sind nunmal die Leute, die Ahnung von der 3er Version haben, weil dieses Forum ein User-to-User Forum f?r die 2er Version ist.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...