Autor Thema: Verwendung von Kombination der Versandkosten  (Gelesen 4792 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline SimoneSt

  • Newbie
  • *
  • Beiträge: 4
  • Lob: 0
Verwendung von Kombination der Versandkosten
« am: November 18, 2014, 17:57:40 »
Hallo,

ich kämpfe derzeit mit der Einstellung der Versandkosten für unseren Onlineshop (den wir gerade aufsetzen).

Eckdaten zum Versand:
* wir arbeiten mit verschiedenen Lieferzonen, die unterschiedliche Versandkosten haben sollen (nur 1 Wert pro Lieferzone, keine Staffelung wg. Gewicht oder Preis)
* wir haben einzelne Artikel, die über Spedition rausgehen, und die einen festen Versandbetrag bekommen sollen (dann aber nur den und nicht noch den Wert für die Lieferzone extra) bzw. mehrfach, wenn sie eben mehrfach bestellt werden
* wir möchten einzelne Artikel versandkostenfrei anlegen (z.B. Gutscheine, die wir per Mail versenden). Werden diese zusammen mit anderen Artikeln bestellt, sollen jedoch die regulären Versandkosten greifen.

Ich habe mit den verschiedenen Optionen rumprobiert und komme auf keinen grünen Zweig.
Entweder macht mit ein "freier" Artikel (XSHIPPING 99F) den ganzen Warenkorb frei, sogar Artikel mit einem 50D oder es werden zu den Artikeln mit festen Versandkosten noch die Werte der Lieferzone dazu addiert.

Ich scheine die richtige Kombination noch nicht gefunden zu haben, denn das muss sich ja irgendwie einstellen lassen; so besonders sind unsere Vorstellungen ja nicht.

Hat jemand Tipps für  mich?

Merci vorab
Simone

Linkback: https://www.shoppilot.net/pf/index.php?topic=1704.0

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Verwendung von Kombination der Versandkosten
« Antwort #1 am: November 21, 2014, 00:25:30 »
Hallo SimoneST,

es gibt unzählige Möglichkeiten, die Versandkosten zu berechne und wenn man dann Kombinationen braucht wird das dann schon sehr kompliziert  ::)

Wenn ich davon ausgehe, dass es keine "gestaffelten" Speditionskosten gibt (also pro Zone nur EIN Preis wenn irgendwelche speditionsversendeten Artikel im WK liegen, ist vielleicht dies Lösung möglich:

1)  bei Händler -> Versandkosten muss bei "Versandkosten" und "Bis Betrag" 0 stehen.


2) Bei "Lieferzonen" -> Versandkosten darf ebenfalls nichts eingetragen sein

3) die Versandkosten werden ausschließlich mit ssp berechnet.
Dazu das benutzerdef. Artikelfeld "GEWICHT" anlegen (hat aber nichts mit dem Artikelgewicht zu tun ;) )

4) in stdall.ipl schreiben:
<!--spmacro:module(defs)
#Versandkosten abhängig vom
    my ($zone) = ssp::get_cart_zone();

    if ($zone == 1) {$verskosttab = [
[0,0,0],[1,999,5.50],[999,99999999999999,55]
];
}
    if ($zone == 2) {$verskosttab =[
[0,0,0],[1,999,9.90],[999,99999999999999,120]
];
}
    if ($zone >= 3) {$verskosttab =[
[0,0,0],[1,99999,12.90],[999,99999999999999,200]
];
}

-->

<!--spmacro:module(Callback)

$vsumme = 0;
$gewichtsumme =0;

sub invoice_addpos {
      my $ref_gesamt = $_[0];
      my $ref_gesamt_steuer = $_[2];

      my $anzahl = ssp::get_cart_items();

  my $ust = $_[3]/100;
      my $netto = $_[4];

      for (my $i = 0;$i <= $anzahl;++$i) {
            my $wert = ssp::get_var_cart('anzahl',$i)*ssp::get_var_cart('GEWICHT',$i);
            $gewichtsumme +=  $wert;
      }
      foreach my $i (@{$defs::verskosttab}) {
            ssp::trace("$i->[0] $i->[1] $i->[2]\n");
            if (($i->[0] <= $gewichtsumme) && ($gewichtsumme < $i->[1])) {
              $vsumme = $i->[2];
              break;
            }
      }

      if ($netto > 0) {
            $$ref_gesamt +=  $vsumme;
            $$ref_gesamt_steuer +=  $vsumme*$ust;
      } else {
            $$ref_gesamt += $vsumme;
            $$ref_gesamt_steuer +=  $vsumme*(1-1/(1-$ust));
      }
      ssp::trace("+++++ invoice_addpos $$ref_gesamt $$ref_gesamt_netto $$ref_gesamt_steuer\n");
}
-->

<!--spmacro:module(versk)

# Gesamtsumme der Versandkosten
sub versk  {
   main::mprint(main::fp($Callback::vsumme));
}

5) jetzt bei allen Artikeln im neuen Feld GEWICHT "1" eintragen (geht in einem Rutsch mit "Artikel suchen/ersetzen").
Dann bei den Gutscheinen (bzw. den Artikeln bei denen keine Versandkosten berechnet werden sollen) den Wert auf "0" ändern.
Die Speditions-Artikel bekommen "999"

6)  die Scriptanpassung:

    if ($zone == 1) {$verskosttab = [
      [0,0,0],[1,999,5.50],[999,99999999999999,55]
      ];
   }
"normale" Versandkosten für diese Zone - Speditionskosten für diese Zone
    if ($zone == 2) {$verskosttab =[
      [0,0,0],[1,999,9.90],[999,99999999999999,120]
      ];
   }
    if ($zone >= 3) {$verskosttab =[
      [0,0,0],[1,99999,12.90],[999,99999999999999,200]
      ];
   }

(möglicherweise müssen auch die "if" Bedingungen angepasst werden - also welche Zonen in welche Versandkostenklasse fallen)

7) und zuletzt:
im WK, Bestellablauf und Mailvorlagen alle __versand__ mit __versk::versk__ ersetzen.

Funktioniert dann so, wie Sie es wollten:
liegen ausschließlich Gutscheine im WK -> Versandkosten 0
sobald ein oder mehrere anderer Artikel dazu bestellt werden, werden der "normalen" Versandkosten berechnet.
Liegt mindestens ein Speditionsartikel in WK, werden EINMAL die Speditionskosten berechnet, egal wieviele andere Artikel mit bestellt werden.
Alles natürlich jeweils abhängig von der Lieferzone.

Voraussetzung: es dürfen maximal 998 Artikel mit normalen VK bestellt werden, denn der Gewichtswert wird ja addiert = ab 999 Artikeln gilt es als "mit Spedition".
mfG
dobra

Offline SimoneSt

  • Newbie
  • *
  • Beiträge: 4
  • Lob: 0
Re: Verwendung von Kombination der Versandkosten
« Antwort #2 am: Dezember 02, 2014, 12:43:01 »
Hallo dobra,

vielen Dank für die ausführliche Erläuterung!

Leider funktioniert das so bei uns nicht, weil wir 2 unterschiedliche Speditionssätze haben, die auch ggf. mehrfach berechnet werden müssen.
(wir haben Boote und Paddel als Speditionsartikel, Paddel=30EUR, Boot = 50EUR, Boot+Paddel=80EUR, 2 Boote = 100EUR, etc.)

Der Ansatz mit der Direktberechnung eines Frachtanteils (z.B. 50D) finde ich an sich ja ganz praktisch. Leider kommen die vorhandenen Bordmittel halt bei einigen Konstellationen an die Grenzen. 


Viele Grüsse
Simone


xx
Verwendung von udc_cond_feedback

Begonnen von dobra

0 Antworten
11207 Aufrufe
Letzter Beitrag Juli 06, 2010, 08:27:46
von dobra
exclamation
allgemeines zur Verwendung von Ajax

Begonnen von dobra

0 Antworten
6725 Aufrufe
Letzter Beitrag Januar 15, 2010, 19:02:40
von dobra
xx
BGH: Verwendung fremder Marken in html-Metatags nicht zulässig

Begonnen von hop

0 Antworten
8464 Aufrufe
Letzter Beitrag Mai 23, 2006, 13:41:44
von hop
xx
Versandkosten

Begonnen von Floh

1 Antworten
5011 Aufrufe
Letzter Beitrag Dezember 08, 2004, 16:49:20
von Andi