Lieferzonen für Händler definieren?

Begonnen von dobra, Februar 17, 2011, 07:55:52

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

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  :'(
mfG
dobra

ahe

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);
}
MfG ahe

dobra

mfG
dobra