Shopsystem ShopPilot

ShopPilot => ShopPilot Enterprise => Thema gestartet von: leuchtie am April 27, 2015, 12:15:36

Titel: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am April 27, 2015, 12:15:36
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:
(http://www.leuchtie.info/shop/fehler-alter-ablauf.jpg)
               <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:
(http://www.leuchtie.info/shop/fehler-neuer-ablauf.jpg)
               <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>
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: dobra am April 27, 2015, 12:46:24
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
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am April 27, 2015, 14:21:29
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',
);


Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: dobra am April 28, 2015, 10:11:22
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.
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: admin am April 29, 2015, 10:13:26
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>

Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am April 29, 2015, 11:05:27
Das ist eine gute Lösung vielen Dank.
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am Mai 06, 2015, 12:02:36
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 :-)
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am Mai 06, 2015, 14:09:55
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};
  }
}
-->
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: dobra am Mai 06, 2015, 14:18:35
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 ?
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am Mai 06, 2015, 14:25:33
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 :-(
Titel: Re: Fehlertext bei nicht Auswahl Land oder Zahlungsart
Beitrag von: leuchtie am Mai 06, 2015, 15:06:26
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};
  }
}
-->