Hallo,
Ich möchte den Händlern unterschiedliche Lieferzonen zuweisen.
also bei Händler 0 (Standard) - 3 sollen die Lieferzonen 1 - 24 angezeigt werden aber NICHT Lieferzone 25 und 26
bei Händler 4 NUR Lieferzone 25 und 26
Lieferzone 25 und 26 habe ich auch eine eigene Zahlart zugewiesen die nur für Händler 4 freigeschaltet ist.
Trotzdem werden bei den Händlern 0 - 3 alle Lieferzonen angezeigt.
Ich gebe die Zonenliste im WK mit ssp aus
sub zonen {
my $subcat = ssp::get_var_subcat("sid");
my @zonen = ssp::get_all_zones();
my $selected = ssp::cart_read_var('zone');
my $value;
my $out = qq|<form name="zonen" method="post" action="__xxpath__?chgzone,__xxsession__">
<select name="zone" onchange="document.zonen.submit()"><option value="999999">--__language::myprint(sel_zone)__--</option>|."\n";
for (my $i = 0; $i < scalar(@zonen); $i++) {
my $sel;
$value = $i+1;
if ($i == ($selected-1)) { $sel = "selected"; }
if ($subcat == 5) {
use CGI::Carp qw(fatalsToBrowser);
if (!$main::liveview) {
open(F, "<", "../../woll-insel-Partnershop/zonen.csv") or die "Konnte die Datei nicht öffnen";
my @lines = <F>;
close(F);
foreach my $line (@lines) {
my ($deutsch, $englisch) = split(/;/, $line);
if ($zonen[$i] =~ /$deutsch/) {
$zonen[$i] =~ s/$deutsch/$englisch/;
}
}
} else {
open(F, "<", "zonen.csv") or die "Konnte die Datei nicht öffnen";
my @lines = <F>;
close(F);
foreach my $line (@lines) {
my ($deutsch, $englisch) = split(/;/, $line);
if ($zonen[$i] =~ /$deutsch/) {
$zonen[$i] =~ s/$deutsch/$englisch/;
}
}
}
}
$out .= qq|<option value="$value" $sel>$zonen[$i]</option>|."\n";
}
$out .= qq|</select><noscript><input type=submit value="ok"></noscript></form>|;
main::mprint($out);
}
P.S.: Händler 4 hat auch einen eigenen Subcat -> 9
sollte also irgendwie mit
if ($subcat == 9) { ??? }
gehen?
aber ich komme nicht drauf, wie ich das Script anpassen kann :'(
Hallo dobra,
das sollte in etwa so gehen:
sub zonen {
my $subcat = ssp::get_var_subcat("sid");
my @zonen = ssp::get_all_zones();
my $selected = ssp::cart_read_var('zone');
my $value;
my $out = qq|<form name="zonen" method="post" action="__xxpath__?chgzone,__xxsession__">
<select name="zone" onchange="document.zonen.submit()"><option value="999999">--__language::myprint(sel_zone)__--</option>|."\n";
for (my $i = 0; $i < scalar(@zonen); $i++) {
my $sel;
$value = $i+1;
if ($i == ($selected-1)) { $sel = "selected"; }
if ($subcat == 9) { ## Händler 4
## Überspringe alles ausser die IDs 25 und 26
next if ($value != 25 && $value != 26);
} else { ## Alle anderen Händler
## Überspringe die IDs 25 und 26
next if ($value == 25 || $value == 26);
}
if ($subcat == 5) {
## Hier die ganze Sonderhandlung für subcat == 5
}
$out .= qq|<option value="$value" $sel>$zonen[$i]</option>|."\n";
}
$out .= qq|</select><noscript><input type=submit value="ok"></noscript></form>|;
main::mprint($out);
}
Hallo ahe,
Danke - funktioniert :D