Frage:
AFS Kaufmann will (bei mehreren Artikeln) eine Postennummer (Pos 1 / Pos 2 etc.).
###POS_NR: Postennummer (WICHTIG MUSS ALS ERSTES ANGEGEBEN WERDEN)
Das Ganze sieht dann so aus:
###POS_NR:1#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__preis__#
###POS_NR:2#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__preis__#
Gibt es in SP eine Möglichkeit, eine fortlaufende Nummer
für die verschiedenen Artikelpositionen zu generieren (wie ??)??
Antwort:
Die Bestelldatenvorlage kann einfach per SSP erweitert werden, ausserdem
sollte man loopitem nutzen, um die Anzahl der Bestellpositionen flexibel zu halten:
Folgendes ist am Anfang der Datei einzufügen (Modul custom):
<!--spmacro:module(custom)
# Datum
sub pos {
$index = $_[0];
$anzahl = $_[1];
if ($index < $anzahl) {
main::mprint($index + 1); # Index beginnt mit 0
}
}
-->
Die Positionen schreibt man dann folgendermassen:
<!--spmacro::loopitem-->
###POS_NR:__custom::pos__#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__preis__#
<!--spmacro::enditem-->
Das Ergebnis sollte genau die gewünschte Ausgabe sein.
Falls eine bestimmte Formatierung für den Preis notwendig ist,
kann man dies auch mit einer SSP Funktiion erledigen (in Modul custom einfügen).
sub preis {
$index = $_[0];
$anzahl = $_[1];
if ($index < $anzahl) {
my $preis = ssp::get_var_cart('preis',$index);
$preis = sprintf("%.2d",$preis); # 123.56
main::mprint($preis);
}
}
<!--spmacro::loopitem-->
###POS_NR:__custom::pos__#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__custom::preis__#
<!--spmacro::enditem-->
hop
Linkback: https://www.shoppilot.net/pf/index.php?topic=818.0