Fehlertext bei nicht Auswahl Land oder Zahlungsart

Begonnen von leuchtie, April 27, 2015, 12:15:36

« vorheriges - nächstes »

0 Mitglieder und 3 Gäste betrachten dieses Thema.

leuchtie

Nachem wir jetzt unseren Bestellablauf umgestellt haben ist folgendes aufgefallen.

Ist im Warenkorb bisher Land oder Zahlart nicht ausgewählt worden, sah der Fehler bisher so au:

               <span style="float: left; margin-left: 540px;">
                                __sbestellen__
               </span>

Jetzt wo der neue Bestellablauf mit der Übersichtsseite am Schluß ist, wird der Fehler so angezeigt:

               <span style="float: left; margin-left: 540px;">

               <a href="http://__xxspath__?show1300000710,__xxsession__"><img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>
               </span>

Kann man das so einstellen, das der Fehlertext wieder wie der ursprüngliches Variante ist? Einziger Unterschied den ich feststellen könnte ist eben das weiter kommen zur nächsten Bestellseite, sprich zur Adresseingabe.

Die Auswahl für Land bzw. Zahlungsart sieht wie folgt aus:

<div class="content_box_100_top">

<table width="100%">
        <tr>
                <td> <!--<p class="titel">__language::myprint(landzahlung)__</p>-->
                <p>__language::myprint(landzahlung2)__
                <br><br>
                __zonen__ &nbsp;__zahlart__
                <br>
                <!--<span style="color:red;">__zone::noMwStSchweiz__</span>-->
                <span style="color:red;font-weight:bold;font-size:1em;">__errorTEXT033__</span></p></td>
        </tr>
</table>

dobra

die im Shop verwendeten Zahlarten müssen in order.ipl auch definiert sein !

## Definition der im Shop definierten Zahlungsarten (1. Wert: Zahlungsart-ID, 2. Wert Bezeichnung)
my %zahlarten = (
   2 => 'Nachnahme'
);



Hier müssen ALLE verwendeten Zahlarten eingetragen werden
mfG
dobra

leuchtie

Die sind im der order.ipl definiert. Die Fehlermeldung kommt ja, wenn kein Land oder Zahlungsart ausgewählt ist und der Kunde zur Adresseingabe weiter gehen will.
mit der __sbestellen__ Variante funktioniert es ja auch. Nur bei der alternaviten drei-stufigen Variente (Warenkorb-Adresseingabe-Zusammenfassung) eben nicht.

Link zum Shop: http://www.leuchtie.com/cgi-bin/endkundenD/iboshop.cgi?logoffshow0 --> Hier ist der Bestellablauf mit Zusammenfassung aktiv.

## Definition der im Shop definierten Zahlungsarten (1. Wert: Zahlungsart-ID, 2. Wert Bezeichnung)
my %zahlarten = (
    3 => 'Sofortüberweisung',
    1 => 'Vorkasse',
    2 => 'Nachnahme',
);



dobra

ein Workaround wäre

im Warenkorb
<!--spmacro:module(check)
sub zahlart {
my $curZahlart = main::cart_read_var("zahl");
if ($curZahlart == 999999) {main::mprint qq|<a href="http://__xxpath__?showwk,__xxsession__">Zur Bestellung...</a>|;}
else {
main::mprint qq|<a href="http://__xxspath__?showbynameBestellung1,__xxsession__">Zur Bestellung...</a>|;
}
}
-->


und dann  __check::zahlart__ statt __sbestellen__

Damit wird die Warenkorbseite erneut aufgerufen, wenn keine Zahlart gewählt wurde.
Fehlermeldung wird damit allerdings nicht ausgegeben.
mfG
dobra

admin

Besser ist es im Warenkorb statt dem Bestellbutton einen Hinweis anzuzeigen, wenn keine Zahlungsart ausgewählt ist.



<!--spmacro:module(goto)
sub orderform {
  my $curZahlart = main::cart_read_var("zahl");
  if ($curZahlart == $main::unknown) {
    main::mprint "Bitte wählen Sie oben ein Land und eine Zahlungsart aus!"
  } else {
     main::mprint qq{<a href="http://__xxspath__?show1300000710,__xxsession__">
      <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
  }
}
-->               
               
               <span style="float: left; margin-left: 540px;">
                __goto::orderform__
               </span>


leuchtie


leuchtie

#6
kann man bei dem Code noch eine Auswahl einbauen für die drei zahlungsarten, derzeit springt er immer in die Vorkasse, weil ja die Seite 1300000710 hinterlegt ist

1 Vorkasse = 1300000760
2 Nachnahme = 1300000750
3 Sofortüberweisung = 1300000770

Zu diesen Programmierungen fehlen mir leider vollkommen die Kenntnisse in der Praxis. Ich denke da müsste noch ein If nach dem else kommen :-)

leuchtie

habe das mal so probiert, aber vermutlich ist die Ausgewählte Variable falsch :-(

<!--spmacro:module(goto)
sub orderform {
 my $curZahlart = main::cart_read_var("zahl");
 if ($curZahlart == $main::unknown) {
   main::mprint "Bitte w&auml;hlen Sie oben ein Land und eine Zahlungsart aus!"
 }
 elsif ($curZahlart == $main::1) {
    main::mprint qq{<a href="http://__xxspath__?show1300000760,__xxsession__">
     <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
 }
   elsif ($curZahlart == $main::2) {
    main::mprint qq{<a href="http://__xxspath__?show1300000750,__xxsession__">
     <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
 }
   elsif ($curZahlart == $main::3) {
    main::mprint qq{<a href="http://__xxspath__?show1300000770,__xxsession__">
     <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
 }
}
-->

dobra

versuchen Sie es doch mal mit

else {
main::mprint qq|<a href="http://__xxspath__?showbynameBestellung1,__xxsession__">Zur Bestellung...</a>|;
}


wie in meinem ersten Beispiel.

Die Bestellung1-Seite sollte doch "global" für alle Zahlarten sein = es wird nur das eingeblendet das für die gewählte Zahlart relevant ist.
Sie brauchen doch keine 3 verschiedenen Vorlagen ?
mfG
dobra

leuchtie

Das Problem ist, das die Zusammenfassungseite jeweils am Ende anders aussieht mit anderen im Html code hinterlegten Texten.
und ich kann ja nur über die Bestellung1 zu einer einzigen Bestellung2 Seite weiterleiten.

Ich habe also aktuelle den Vorgang für alle drei Zahlungsarten. Von daher sollte er im Warenkorb jeweisl auf den entsprechenden Weg verweisen.
Deswegen der der versuch über diese Dreiteilung.

Bin da leider kein Programmierer und muss das so umsetzen wie ich es verstehen und hier auch weiter geben kann. Da kann man bestimmt einiges einfacher machen :-(

leuchtie

Jetzt funktioniert es, das Beispiel hat zumindest bei der Variabelen geholfen :-):-)

<!--spmacro:module(goto)
sub orderform {
  my $curZahlart = main::cart_read_var("zahl");
  if ($curZahlart == $main::unknown) {
    main::mprint "Bitte w&auml;hlen Sie oben ein Land und eine Zahlungsart aus!"
  }
  elsif ($curZahlart == 1) {
     main::mprint qq{<a href="http://__xxspath__?show1300000760,__xxsession__">
      <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
  }
    elsif ($curZahlart == 2) {
     main::mprint qq{<a href="http://__xxspath__?show1300000750,__xxsession__">
      <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
  }
    elsif ($curZahlart == 3) {
     main::mprint qq{<a href="http://__xxspath__?show1300000770,__xxsession__">
      <img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
  }
}
-->