Autor Thema: Kundenkonto-Einstellungen: Zahlart abhängig von Lieferzone  (Gelesen 9124 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Hallo,

Habe mit 01.01.08 jetzt doch Lieferzonen in mein Shop eingebaut.

War bißchen kompliziert, da ich div andere Berechnungsfunktionen (keine Versandkosten bei nur Gutscheinbestellung, versandkosenfrei ab € 100,- und artikelbezogener Rabatt muß daher schon vom Warenwert und nicht erst von der Gesamtsumme abgezogen werden) eingebaut habe und daher die "normale" Lieferzonen -> Versandkostentabelle nicht verwenden konnte.
Aber ich denke, ich habe das ganz gut gelöst  :D

Jetzt möchte ich aber auch im Kundenkonto - Einstellungen die Wahl der Zahlart von der Lieferzone abhängig machen.
= es soll so wie im WK funktionieren -> nur die für diese Lieferzone freigeschaltenen Zahlarten sollen in der Listbox angezeigt werden.

...
     my $zone = ssp::get_var_user(LIEFERZONE);
    my $out;

if ($zone <= 3)  {
$out = qq |
<select size="1" name="ZAHLUNGSART" style="width: 180px;">
<option value="__ZAHLUNGSART:3__">Kreditkarte (Daten SSL senden)</option>
<option value="__ZAHLUNGSART:4__">Kreditkarte (Daten faxen)</option>
<option value="__ZAHLUNGSART:2__">Vorauskassa (-3% Sconto)</option>
<option value="__ZAHLUNGSART:1__">Rechnung</option>
</select>
            |;
} else {
         ...

Im konkreten Fall soll für Lieferzone 1 - 3 Zahlart 1 - 4 eingeblendet werden.
Für Lieferzone 4 - 26 aber nur Zahlart 2, 3 und 4.
Auserdem soll nur für "berechtigte" Kunden in Zone 4 - 26 auch Zahlart 1001 angezeigt werden.
(das funktioniert im Kundenkonto aber nicht - 1001 wird (wenn als option eingetragen) auch bei ALLEN angezeigt.

Das "__ZAHLUNGSART:x__" in qq | ... | geht aber nicht.
Ich komme nicht drauf, wie ich das maskieren kann  ???
\__, _\_ oder \: nutzt garnix, mit &#95;&#95; statt __ wird's zwar richtig angezeigt, aber dann wird das value im Quelltext nicht ersetzt = Einstellungen werden nicht mehr gespeichert bzw. im WK vorbelegt.

Ist der Ansatz schon falsch?

Linkback: https://www.shoppilot.net/pf/index.php?topic=1012.0
« Letzte Änderung: Januar 02, 2008, 08:47:33 von dobra »
mfG
dobra

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 545
  • Lob: 10
Re: Kundenkonto-Einstellungen: Zahlart abhängig von Lieferzone
« Antwort #1 am: Januar 02, 2008, 11:56:22 »
Hallo Dobra,

das funktioniert so nicht, weil hier die Reihenfolge der Auswertung anders ist.
Man kann es so wie im (Standard) Kundenkonto Modul machen.

sub printZahlungsarten {
my $field = "ZAHLUNGSART";
my $selected = ssp::get_var_user($field);
my @values;
my @titles;

my $pre = ssp::db_get_prefix();
my $PAYADD = $pre . "PAYADD";
my $MERPAY = $pre . "MERPAY";
my $sql = qq|SELECT NAME,PAYID FROM $PAYADD,$MERPAY WHERE PID=PAYID AND MID='$main::h_id' ORDER BY SID|;
my $read = ssp::readSQLData($sql, "NAME", "PAYID");
if (-1 == $read) { main::syserr($sql); }
for (my $i = 0; $i < $read; $i++) {
my $name = ssp::get_var_db("NAME", $i);
my $id = ssp::get_var_db("PAYID", $i);

push(@values, $id);
push(@titles, $name);
}

printCombo($field, $selected, \@values, \@titles);
}


Gruss hop

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Kundenkonto-Einstellungen: Zahlart abhängig von Lieferzone
« Antwort #2 am: Januar 02, 2008, 12:35:33 »
Hallo hop,

Danke für den Code, aber bitte noch um "Gebrauchsanweisung" - irgendetwas fehlt mir da sicher noch ....
(ich nix verstehen  :-\)

Wenn ich den Code so einbaue, bekomme ich "Undefined subroutine &zahlart::printCombo called at (eval 73) line 22. "

Mit print($field, $selected, \@values, \@titles); wird "ZAHLUNGSART4ARRAY(0x1e5de54)ARRAY(0x1e5de6c) " ausgegeben.

Ich möchte aber doch so gerne die Zahlartlistbox mit den "erlaubten" Optionen - wie mache ich das?


Offline admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 545
  • Lob: 10
Re: Kundenkonto-Einstellungen: Zahlart abhängig von Lieferzone
« Antwort #3 am: Januar 02, 2008, 12:47:36 »
Hallo Dobra,

es kommt aus dem Kundenkonto Modul ,
zu finden z.B. im Carshop in kundenkonto_modul/kundenkonto_kdndaten_sonstige.html.
Dort findet man auch den kompletten Code.

Gruss hop

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Kundenkonto-Einstellungen: Zahlart abhängig von Lieferzone
« Antwort #4 am: Januar 02, 2008, 13:19:22 »
Danke hop 

Jetzt habe ich's  ;D


xx
Lieferzone Versandkosten

Begonnen von jg

2 Antworten
4636 Aufrufe
Letzter Beitrag April 26, 2007, 14:58:33
von jg
xx
Versandkostenfrei je nach Lieferzone

Begonnen von karathan

3 Antworten
6126 Aufrufe
Letzter Beitrag Oktober 15, 2005, 00:41:54
von emil
xx
Einstellungen

Begonnen von dobra

5 Antworten
12643 Aufrufe
Letzter Beitrag Oktober 02, 2006, 08:56:08
von cru
xx
Zahlart

Begonnen von Ingolf

5 Antworten
6867 Aufrufe
Letzter Beitrag Februar 25, 2013, 00:12:51
von dobra