PhPepperShop Logo

Artikelanzahlauswahl anpassen

Info: Diese Anleitung wird nur für ältere PhPepperShop Systeme bis Version 1.5 benötigt. Bei neueren Versionen können die hier beschriebenen Änderungen bequem via Webinterface durchgeführt werden.

Um was geht es genau


Standardmässig bietet der PhPepperShop in den Versionen bis und mit v.1.5 zur Auswahl der Anzahl Artikel ein Dropdownmenu mit den Zahlen 1-10 an:

Original Dropdownmenu

Die neueren Shopversionen ab v.2.0 können pro Artikel eine eigene Einheit und deren Darstellung verwalten. Wir haben schon vielfach Anfragen erhalten, wie man das Dropdownmenu zur Auswahl der Anzahl zu bestellender Artikel in den älteren Shopversionen genauer anpassen kann. Man kann die Anfragen grundsätzlich in vier Anforderungsprofile einteilen:

  1. Original Dropdownmenu Im Dropdownmenu sollen andere/weitere Werte zur Auswahl stehen

  2. Original Dropdownmenu Die Masseinheit soll anders genannt werden (z.B. kg, m, ...)

  3. Original Dropdownmenu Anstatt dem Dropdownmenu soll ein Texteingabefeld angezeigt werden (Nur ganze Zahlen erlaubt).

  4. Original Dropdownmenu Anstatt dem Dropdownmenu soll ein Texteingabefeld angezeigt werden (auch Fliesskommazahlen sollen erlaubt sein).


An die Arbeit...


Wenn man die Darstellung nun im eigenen Shop ändern will, so kommt man nicht umhin sich mit dem PhPepperShop Source-Code zu befassen. Wir machen es hier aber möglichst einfach. Der neue Code ist schon fertig ausprogrammiert, so dass man im wesentlichen nur noch Code ersetzen muss. Damit man den PhPepperShop Source-Code bearbeiten kann, muss man sich einen Editor beschaffen, mit welchem man UNIX-Zeilenumbrüche korrekt darstellen kann. Wir empfehlen PHPEd oder PHP-Edit. Hier hat natürlich jeder seine eigene Präferenz.

PhPepperShop v.1.5: Ab der Version 1.5 des PhPepperShops werden kundenseitig HTML-Templates zur Darstellung der Artikel benutzt, folglich findet man den hier beschriebenen Code in der Datei USER_ARTIKEL_HANDLING_AUFRUF.php nicht mehr. Stattdessen findet man im Template artikeldarstellung.tpl.html das via default angezeigte Stückzahlen Dropdownmenü. Die hier beschriebenen Änderungen können also auch in v.1.5 appliziert werden, nur, dass man sie im HTML-Template direkt anwenden muss. Für die Ersetzung des Dropdown Menüs durch ein Texteingabefeld für ganze Zahlen findet man hier eine detaillierte Anleitung.

Gewünschte Änderungsart auswählen:

  1. Im Dropdownmenu sollen andere/weitere Werte zur Auswahl stehen
  2. Die Masseinheit soll anders genannt werden (z.B. kg, m, ...)
  3. Anstatt dem Dropdownmenu soll ein Texteingabefeld angezeigt werden (Nur ganze Zahlen erlaubt)
  4. Version 1.5: Anstatt dem Dropdownmenu soll ein Texteingabefeld angezeigt werden (Nur ganze Zahlen erlaubt)   (PhPepperShop v.1.5)
  5. Anstatt dem Dropdownmenu soll ein Texteingabefeld angezeigt werden (Fliesskommazahlen erlaubt)

Wir haben zu jedem der vier Punkte eine kleine Anleitung geschrieben, was man wo wie ersetzen muss. Diese Angaben müssen ganz genau befolgt werden, ansonsten hat man am Ende einen Shop, welcher nicht mehr lauffähig ist. Auch deshalb empfehlen wir vorher ein Backup der zu bearbeitenden Datei(en) anzulegen.


1. Andere Zahlen als 1-10 im Dropdownmenu anzeigen


Standardmässig wird im PhPepperShop ein Dropdownmenu mit der Auswahl von 1-10 in Einerschritten dargeboten. Wenn man jetzt aber Artikel in anderen Mengen anbieten will und diese nicht zu Paketen bündeln kann, so muss man zwangsläufig die auswählbaren Stückzahlen ändern können. Hier wird nun beschrieben wie man diese Änderung angehen kann. Grundsätzlich gibt es hier verschiedene Lösungsansätze: Man kann einerseits das ganze Dropdown-Feld durch ein Texteingabefeld ersetzen, siehe dazu bitte 'Texteingabefeld (Ganzzahl)' und 'Texteingabefeld (Fliesskomma)'. Wenn man aber einen linearen Zahlenbereich an Stückzahlen anbieten will und dieser nicht mehr als ~15 Einträge besitzt, so kann man auch das bestehende Dropdownmenu modifizieren. Wie man das macht, dies wird hier als nächstes beschrieben.

Wir müssen nur einen Ort bearbeiten: Die Datei [shopdir]/shop/USER_ARTIKEL_HANDLING_AUFRUF.php. Diese Datei nun bitte im Editor öffnen.

Folgendes Codestück suchen (Darstellung des Dropdownmenus):
        echo ' </td>'."\n";
        echo 
' </tr>'."\n";
        echo 
' <tr class="content">'."\n";
        echo 
' <td class="content" VALIGN=middle>'."\n";
        echo 
' <br><h4 class="content">';
        echo 
' <select name="Anzahl">'."\n";
        echo 
' <option value="1">1</option>'."\n";
        echo 
' <option value="2">2</option>'."\n";
        echo 
' <option value="3">3</option>'."\n";
        echo 
' <option value="4">4</option>'."\n";
        echo 
' <option value="5">5</option>'."\n";
        echo 
' <option value="6">6</option>'."\n";
        echo 
' <option value="7">7</option>'."\n";
        echo 
' <option value="8">8</option>'."\n";
        echo 
' <option value="9">9</option>'."\n";
        echo 
' <option value="10">10</option>'."\n";
        echo 
' </select>'."\n";
        echo 
' Stück </h4>';
        echo 
' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";

Im oben abgebildeten Dropdownmenu (HTML-Code in PHP) sieht man die zehn Zeilen, welche die zehn Einträge des Menus beschreiben. Als Beispiel ändern wir hier das Menu, so dass es nachher noch mehr Auswahl anbietet. Zu den zehn schon vorhandenen Einträgen erstellen wir noch weitere für die Anzahlen 15, 20, 30, 40 und 50.

Erweitertes Dropdownmenu:
        echo ' </td>'."\n";
        echo 
' </tr>'."\n";
        echo 
' <tr class="content">'."\n";
        echo 
' <td class="content" VALIGN=middle>'."\n";
        echo 
' <br><h4 class="content">';
        echo 
' <select name="Anzahl">'."\n";
        echo 
' <option value="1">1</option>'."\n";
        echo 
' <option value="2">2</option>'."\n";
        echo 
' <option value="3">3</option>'."\n";
        echo 
' <option value="4">4</option>'."\n";
        echo 
' <option value="5">5</option>'."\n";
        echo 
' <option value="6">6</option>'."\n";
        echo 
' <option value="7">7</option>'."\n";
        echo 
' <option value="8">8</option>'."\n";
        echo 
' <option value="9">9</option>'."\n";
        echo 
' <option value="10">10</option>'."\n";
        echo 
' <option value="15">15</option>'."\n";
        echo 
' <option value="20">20</option>'."\n";
        echo 
' <option value="30">30</option>'."\n";
        echo 
' <option value="40">40</option>'."\n";
        echo 
' <option value="50">50</option>'."\n";
        echo 
' </select>'."\n";
        echo 
' Stück </h4>';
        echo 
' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";

Man muss jeweils den value="Wert" und den Wert in den Dreieckigen Klammern >Wert< modifizieren um eine neue Anzahl korrekt einzubinden. Wenn man eine Anzahl im voraus selektieren will, so kann man noch hinter value="Wert" das Wort selected schreiben. Nun muss die Datei mit dem modifizierten Menu nur noch gespeichert werden und schon sind alle Arbeiten erledigt.

Wenn jemand noch etwas eleganter programmieren möchte, sollte sich diesen Foreneintrag mal genauer anschauen: Dropdownmenu mit for-schleife


2. Masseinheit ändern


Natürlich verkauft nicht jeder Webshop in Stück-Einheiten. Einige verkaufen Flaschen, andere wiederum Liter. Wir werden die Masseinheit der kleinsten bestellbaren Einheit (default: Stück) nun auf eine von Ihnen definierbare Einheit ändern. In diesem Beispiel nehmen wir jetzt Liter (es würde natürlich auch nur l gehen, aber Liter sieht besser aus...).

Die Masseinheit wird an drei verschiedenen Orten angezeigt: Zuerst in der Artikelanzeige, weiter im Warenkorb und der Bestellbestätigung und zuletzt noch im Bestellungs-E-Mail. Wir müssen also drei Änderungen vornehmen.

Bearbeitet werden muss zuerst die Datei [shopdir]/shop/USER_ARTIKEL_HANDLING_AUFRUF.php. Diese Datei nun bitte im Editor öffnen und darin folgende Änderungen vornehmen.

  1. Folgendes Codestück suchen (Darstellung des Dropdownmenus):
            echo ' </td>'."\n";
            echo 
    ' </tr>'."\n";
            echo 
    ' <tr class="content">'."\n";
            echo 
    ' <td class="content" VALIGN=middle>'."\n";
            echo 
    ' <br><h4 class="content">';
            echo 
    ' <select name="Anzahl">'."\n";
            echo 
    ' <option value="1">1</option>'."\n";
            echo 
    ' <option value="2">2</option>'."\n";
            echo 
    ' <option value="3">3</option>'."\n";
            echo 
    ' <option value="4">4</option>'."\n";
            echo 
    ' <option value="5">5</option>'."\n";
            echo 
    ' <option value="6">6</option>'."\n";
            echo 
    ' <option value="7">7</option>'."\n";
            echo 
    ' <option value="8">8</option>'."\n";
            echo 
    ' <option value="9">9</option>'."\n";
            echo 
    ' <option value="10">10</option>'."\n";
            echo 
    ' </select>'."\n";
            echo 
    Stück </h4>';
            echo 
    ' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";
            echo 
    " <input type='hidden' name='Artikel_ID' value='".$myarray->artikel_ID."'>"."\n";
            echo 
    ' <INPUT TYPE="hidden" name=darstellen value=2 title="Im Warenkorb gelandet">';
            echo 
    ' <INPUT TYPE="hidden" name=Session_ID value="'.session_id().'" title="Im Warenkorb gelandet">';
            echo 
    " <input type='image' src='Buttons/bt_in_warenkorb.gif' border='0'>";
            echo 
    ' </td>'."\n";
            echo 
    ' </tr>'."\n";

    Hier muss man nun das Wort Stück durch die eigene Masseinheit ersetzen - in unserem Fall hier durch Liter. Die Datei nun wieder speichern. Wir müssen in dieser Datei keine weiteren Änderungen mehr vornehmen.

  2. Warenkorb und Bestellbestätigung anpassen:

    Wir öffnen im Editor nun die Datei [shopdir]/shop/USER_BESTELLUNG_DARSTELLUNG.php.

    Folgende Codezeile suchen:
          <td class="content" align=center><B style='font-weight:bold'>Anzahl</B></td>

    Das Wort Anzahl muss hier durch die eigene Masseinheit (bei uns Liter) ersetzt werden.

  3. Bestellungs-E-Mail anpassen:

    In der gleichen Datei können wir gleich weitermachen:

    Folgende Codezeile suchen:
        $mailstring.="Anzahl:       ".$value->Anzahl."\n";
    ?>
        $mailstring.="Anzahl:       ".$value->Anzahl."\n";

    Auch hier nochmals das Wort Anzahl durch die eigene Masseinheit ersetzen.
Nun muss die bearbeitete Datei nur noch gespeichert werden. Alle Änderungen sind jetzt gemacht.

3. Ganzzahl Texteingabefeld einrichten (Anmerkung PhPepperShop v.1.4 Benutzer | PhPepperShop Version 1.5)


Wenn man seine Angebote nicht bündeln kann und grosse Unterschiede bei den Bestellmengen hat, so muss zwangsläufig ein Texteingabefeld her, das Dropdownmenu würde sonst ins Unermässliche wachsen. Bei einem Texteingabefeld muss aber auch an die Sicherheit gedacht werden: Kunden können nicht nur Zahlen eingeben, sondern auch maliziösen Code. Die Eingaben müssen also überprüft werden. Dies erledigen wir hier mit JavaScript-Code, welcher zusätzlich zum reinen Texteingabefeld noch eingefügt werden muss. Es sind also zwei Punkte abzuarbeiten.

Bearbeitet werden muss die Datei [shopdir]/shop/USER_ARTIKEL_HANDLING_AUFRUF.php. Diese Datei nun bitte im Editor öffnen und darin folgende Änderungen vornehmen.

  1. Folgendes Codestück suchen:
          // fuer jeden Artikel der Kategorie..
          
    foreach($myArtikelarray as $myarray) {
            echo 
    "  <form method='post' action='./USER_BESTELLUNG_AUFRUF.php'>"

    und durch folgendes Codestück ersetzen:
          // fuer jeden Artikel der Kategorie..
          
    foreach($myArtikelarray as $myarray) {
          
            echo 
    "<script language=\"JavaScript\">\n";
            echo 
    "  <!--\n";
            echo 
    "  // Ueberpruefung der eingegebenen Daten des Versandkosteneingabeformulars:\n";
            echo 
    "  function chkFormular".$myarray->artikel_ID."() {\n";
            echo 
    "    nummerisch = 1;\n";
            echo 
    "    for(i=0;i<document.Form".$myarray->artikel_ID.".Anzahl.value.length;++i) {\n";
            echo 
    "      if(document.Form".$myarray->artikel_ID.".Anzahl.value.charAt(i) < \"0\" || document.Form".$myarray->artikel_ID.".Anzahl.value.charAt(i) > \"9\") {\n";
            echo 
    "        nummerisch = 0;\n";
            echo 
    "      }\n";
            echo 
    "    }\n";
            echo 
    "    if(nummerisch == 0) {\n";
            echo 
    "      alert(\"Die Anzahl enthaelt ungueltige Zeichen. Erlaubt sind nur ganze Zahlen!\");\n";
            echo 
    "      document.Form".$myarray->artikel_ID.".Anzahl.focus();\n";
            echo 
    "      return false;\n";
            echo 
    "    }\n";
            echo 
    "  }// End function chkFormular\n";
            echo 
    "  //-->\n";
            echo 
    "</script>\n";
            
            echo 
    "<form method='post' action='./USER_BESTELLUNG_AUFRUF.php' name=\"Form".$myarray->artikel_ID."\" onSubmit=\"return chkFormular".$myarray->artikel_ID."()\">\n";

  2. Folgendes Codestück suchen:
            //HTML-Teil (Ende des Formulars)
            
    echo ' </td>'."\n";
            echo 
    ' </tr>'."\n";
            echo 
    ' <tr class="content">'."\n";
            echo 
    ' <td class="content" VALIGN=middle>'."\n";
            echo 
    ' <br><h4 class="content">';
            echo 
    ' <select name="Anzahl">'."\n";
            echo 
    ' <option value="1">1</option>'."\n";
            echo 
    ' <option value="2">2</option>'."\n";
            echo 
    ' <option value="3">3</option>'."\n";
            echo 
    ' <option value="4">4</option>'."\n";
            echo 
    ' <option value="5">5</option>'."\n";
            echo 
    ' <option value="6">6</option>'."\n";
            echo 
    ' <option value="7">7</option>'."\n";
            echo 
    ' <option value="8">8</option>'."\n";
            echo 
    ' <option value="9">9</option>'."\n";
            echo 
    ' <option value="10">10</option>'."\n";
            echo 
    ' </select>'."\n";
            echo 
    ' Stück </h4>';
            echo 
    ' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";
            echo 
    " <input type='hidden' name='Artikel_ID' value='".$myarray->artikel_ID."'>"."\n";
            echo 
    ' <INPUT TYPE="hidden" name=darstellen value=2 title="Im Warenkorb gelandet">';
            echo 
    ' <INPUT TYPE="hidden" name=Session_ID value="'.session_id().'" title="Im Warenkorb gelandet">';
            echo 
    " <input type='image' src='Buttons/bt_in_warenkorb.gif' border='0'>";
            echo 
    ' </td>'."\n";
            echo 
    ' </tr>'."\n";

    und durch folgendes Codestück ersetzen:
            //HTML-Teil (Ende des Formulars)
            
    echo ' </td>'."\n";
            echo 
    ' </tr>'."\n";
            echo 
    ' <tr class="content">'."\n";
            echo 
    ' <td class="content" VALIGN=middle>'."\n";
            echo 
    ' <br><b class="content" style="font-weight:bold">Anzahl</b><br>';
            echo 
    ' <input type="text" name="Anzahl" size="7" value="1">'."\n";
            echo 
    ' Stück';
            echo 
    ' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";
            echo 
    " <input type='hidden' name='Artikel_ID' value='".$myarray->artikel_ID."'>"."\n";
            echo 
    ' <INPUT TYPE="hidden" name=darstellen value=2 title="Im Warenkorb gelandet">';
            echo 
    ' <INPUT TYPE="hidden" name=Session_ID value="'.session_id().'" title="Im Warenkorb gelandet">';
            echo 
    " <input type='image' src='Buttons/bt_in_warenkorb.gif' border='0'>";
            echo 
    ' </td>'."\n";
            echo 
    ' </tr>'."\n";

Nun sind alle nötigen Arbeiten getan und man kann die neuen Eingabemöglichkeiten benutzen. Wenn man noch die Masseinheit (Stück) ändern will, so muss man nach Punkt 2 verfahren. Der erste Teil (ersetzen des Wortes Stück im Dropdownmenu, muss man nun aber abgeänderterweise im Texteingabefeldcode vornehmen).


3.1 Ganzzahl Texteingabefeld einrichten im PhPepperShop v.1.5


Die folgende Änderung bezieht sich auf den PhPepperShop v.1.5. Hier sind, wie in der Einleitung beschrieben, alle Darstellungsteile in eigene, PHP-Source-Code befreite HTML-Dateien (Templates) extrahiert.

  1. Folgendes Codestück in der Datei shop/language/de/html_templates/artikeldarstellung.tpl.html zwischen der Stelle <!-- BEGIN artikel -->  und <!-- BEGIN hat_artikelbild -->  ersetzen:
            <script language="JavaScript">
            function 
    chkFormular{artikel_id}() {
              
    nummerisch 1;
              for(
    i=0;i<document.Form{artikel_id}.Anzahl.value.length;++i) {
              if(
    document.Form{artikel_id}.Anzahl.value.charAt(i) < "0" || document.Form{artikel_id}.Anzahl.value.charAt(i) > "9") {
                
    nummerisch 0;
              }
            }
                if(
    nummerisch == 0) {
                  
    alert("Die Anzahl enthaelt ungueltige Zeichen. Erlaubt sind nur ganze Zahlen!");
                  
    document.Form{artikel_id}.Anzahl.focus();
                 return 
    false;
                }
              }
            
    </script>
            <form method="post" action="./USER_BESTELLUNG_AUFRUF.php" name="Form{artikel_id}" onSubmit="return chkFormular{artikel_id}()">
            <
    tr class="content">
              <
    td class="content" colspan="3">
                <
    a name="Ziel{artikel_id}" class="content"><hr></a>
              </
    td>
              </
    tr>
            <
    tr class="content">        
  2. Ausserdem folgendes Codestück suchen:
            <!-- BEGIN artikel_kaufbar -->
                <
    tr class="content">
                  <
    td class="content" valign="middle">
                    <
    br>
                    <
    h4 class="content">
                      <
    select name="Anzahl">
                        <
    option value="1">1</option>
                        <
    option value="2">2</option>
                        <
    option value="3">3</option>
            ...
                        <
    option value="8">8</option>
                        <
    option value="9">9</option>
                        <
    option value="10">10</option>
                      </
    select>
                      {
    einheit}</h4>

    und durch folgendes Codestück ersetzen:
            <!-- BEGIN artikel_kaufbar -->
               <
    tr class="content">
                 <
    td class="content" valign="middle">
                   <
    br>
                    <
    div class="content">
                      <
    input type="text" name="Anzahl" size="7" value="1">
                      <
    strong>{einheit}</strong></div>

4. Fliesskommazahl Textfeld einrichten (Anmerkung PhPepperShop v.1.4 Benutzer)


Um Waren wie meterweise Stoff oder ähnliches zu verkaufen, macht es Sinn ein Texteingabefeld mit Fliesskommazahleingabe (z.B. 1,2m) einzurichten. Texteingabefelder eröffnen aber auch Sicherheitslücken, weil jemand anstatt der Zahl auch ein Zeichen oder sonstige Eingaben machen könnte. Deshalb müssen wir die Eingaben auch überprüfen. Dies wird hier mit JavaScript-Code gemacht. Da die Fliesskommaeingaben noch eine Änderung eines Datenbankattributs verlangen sind insgesamt drei Änderungen vorzunehmen.

Bearbeitet werden muss die Datei [shopdir]/shop/USER_ARTIKEL_HANDLING_AUFRUF.php. Diese Datei nun bitte im Editor öffnen und darin folgende Änderungen vornehmen.

  1. Folgendes Codestück suchen:
          // fuer jeden Artikel der Kategorie..
          
    foreach($myArtikelarray as $myarray) {
            echo 
    "  <form method='post' action='./USER_BESTELLUNG_AUFRUF.php'>"

    und durch folgendes Codestück ersetzen:
          // fuer jeden Artikel der Kategorie..
          
    foreach($myArtikelarray as $myarray) {
          
            echo 
    "<script language=\"JavaScript\">\n";
            echo 
    "  <!--\n";
            echo 
    "  // Ueberpruefung der eingegebenen Daten des Versandkosteneingabeformulars:\n";
            echo 
    "  function chkFormular".$myarray->artikel_ID."() {\n";
            echo 
    "    nummerisch = 1;\n";
            echo 
    "    for(i=0;i<document.Form".$myarray->artikel_ID.".Anzahl.value.length;++i) {\n";
            echo 
    "      if(document.Form".$myarray->artikel_ID.".Anzahl.value.charAt(i) < \"0\" || document.Form".$myarray->artikel_ID.".Anzahl.value.charAt(i) > \"9\") {\n";
            echo 
    "        if(document.Form".$myarray->artikel_ID.".Anzahl.value.charAt(i) != \".\") {\n";
            echo 
    "          nummerisch = 0;\n";
            echo 
    "        }\n";
            echo 
    "      }\n";
            echo 
    "    }\n";
            echo 
    "    if(nummerisch == 0) {\n";
            echo 
    "      alert(\"Die Anzahl enthaelt ungueltige Zeichen. Erlaubt sind: Ziffern und ein Punkt als Dezimaltrennzeichen!\");\n";
            echo 
    "      document.Form".$myarray->artikel_ID.".Anzahl.focus();\n";
            echo 
    "      return false;\n";
            echo 
    "    }\n";
            echo 
    "  }// End function chkFormular\n";
            echo 
    "  //-->\n";
            echo 
    "</script>\n";
            
            echo 
    "<form method='post' action='./USER_BESTELLUNG_AUFRUF.php' name=\"Form".$myarray->artikel_ID."\" onSubmit=\"return chkFormular".$myarray->artikel_ID."()\">\n";

  2. Folgendes Codestück suchen:
            //HTML-Teil (Ende des Formulars)
            
    echo ' </td>'."\n";
            echo 
    ' </tr>'."\n";
            echo 
    ' <tr class="content">'."\n";
            echo 
    ' <td class="content" VALIGN=middle>'."\n";
            echo 
    ' <br><h4 class="content">';
            echo 
    ' <select name="Anzahl">'."\n";
            echo 
    ' <option value="1">1</option>'."\n";
            echo 
    ' <option value="2">2</option>'."\n";
            echo 
    ' <option value="3">3</option>'."\n";
            echo 
    ' <option value="4">4</option>'."\n";
            echo 
    ' <option value="5">5</option>'."\n";
            echo 
    ' <option value="6">6</option>'."\n";
            echo 
    ' <option value="7">7</option>'."\n";
            echo 
    ' <option value="8">8</option>'."\n";
            echo 
    ' <option value="9">9</option>'."\n";
            echo 
    ' <option value="10">10</option>'."\n";
            echo 
    ' </select>'."\n";
            echo 
    ' Stück </h4>';
            echo 
    ' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";
            echo 
    " <input type='hidden' name='Artikel_ID' value='".$myarray->artikel_ID."'>"."\n";
            echo 
    ' <INPUT TYPE="hidden" name=darstellen value=2 title="Im Warenkorb gelandet">';
            echo 
    ' <INPUT TYPE="hidden" name=Session_ID value="'.session_id().'" title="Im Warenkorb gelandet">';
            echo 
    " <input type='image' src='Buttons/bt_in_warenkorb.gif' border='0'>";
            echo 
    ' </td>'."\n";
            echo 
    ' </tr>'."\n";

    und durch folgendes Codestück ersetzen:
            //HTML-Teil (Ende des Formulars)
            
    echo ' </td>'."\n";
            echo 
    ' </tr>'."\n";
            echo 
    ' <tr class="content">'."\n";
            echo 
    ' <td class="content" VALIGN=middle>'."\n";
            echo 
    ' <br><b class="content" style="font-weight:bold">Anzahl</b><br>';
            echo 
    ' <input type="text" name="Anzahl" size="7" value="1">'."\n";
            echo 
    ' Stück';
            echo 
    ' </td><td class="content" VALIGN= middle ALIGN=right>'."\n";
            echo 
    " <input type='hidden' name='Artikel_ID' value='".$myarray->artikel_ID."'>"."\n";
            echo 
    ' <INPUT TYPE="hidden" name=darstellen value=2 title="Im Warenkorb gelandet">';
            echo 
    ' <INPUT TYPE="hidden" name=Session_ID value="'.session_id().'" title="Im Warenkorb gelandet">';
            echo 
    " <input type='image' src='Buttons/bt_in_warenkorb.gif' border='0'>";
            echo 
    ' </td>'."\n";
            echo 
    ' </tr>'."\n";

  3. Jetzt geht man via phpMyAdmin oder mysql-Monitor in die Shopdatenbank und editiert die Tabelle artikel_bestellung. Dort ändert ihr beim Attribut Anzahl den Typ (klick auf Ändern) von INT(11) auf DOUBLE (keine Länge angeben). Mit OK nun noch die Einstellung bestätigen (Achtung: Wenn man diese Änderung nicht macht, akzeptiert der Shop nur Ganzzahlen).

Nun sind alle nötigen Arbeiten getan und man kann die neuen Eingabemöglichkeiten benutzen, auch mit Fliesskomma(an)zahlen. Wenn man noch die Masseinheit (Stück) ändern will, so muss man nach Punkt 2 verfahren. Der erste Teil (ersetzen des Wortes Stück im Dropdownmenu, muss man nun aber abgeänderterweise im Texteingabefeldcode vornehmen).



5. Anmerkung zu PhPepperShop v.1.4


// Optionale Meldung tell-a-friend einbauen
if ( get_tell_a_friend()) {
    echo 
'<a class="content" ' .$cssargumente .' href="javascript:showTellaFriend(' .$Kategorie_ID. ','.
    $myarray->artikel_ID .',\''.urlencode($myarray->name).'\')">
    Diesen Artikel weiterempfehlen</a>& '
."\n" ;
}


[Zurück an den Anfang]
[Zu den PhPepperShop Anleitungen]

v.2.2, 18.07.2004, roli, fjo