Ankündigung

Einklappen
Keine Ankündigung bisher.

Button 'In den Warenkorb' abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Button 'In den Warenkorb' abfragen

    Hallo,

    ich möchte den Button 'In den Warenkorb' per onclick() abfragen um direkt eine Alertbox zu öffnen, wenn Mindestabnahme und Abnahmeeinheit bei der Eingabe nicht passen, da ich finde, wenn der Kunde erst im Warenkorb darauf aufmerksam gemacht wird, ist das sehr unkomfortabel.

    Nun ist meine Frage, wo der Button im Sinne von <input type="submit"... definiert ist, denn da müsste ja der onclick() Event rein.

    #2
    schau mal in deinem tamplate in der tpl_product_info_display.php. ein stück unter "" steht bei mir

    Code:
    $the_button = PRODUCTS_ORDER_QTY_TEXT . '<input type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($_GET['products_id'])) . '" maxlength="6" size="4" />
    ' . zen_get_products_quantity_min_units_display((int)$_GET['products_id']) . '
    ' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);
    da müsstest du dein onclick mit reinpusseln.

    Kommentar


      #3
      Habe das Problem über onsubmit im form tag gelöst.

      Kommentar


        #4
        kannst du den code posten? und wo du den rein hast?

        Kommentar


          #5
          In der includes/templates/template_default/templates/tpl_product_info_display.php
          Den Teil onsubmit="return deineFunktion() wie hier gezeigt einfügen:
          Code:
          <?php echo zen_draw_form('cart_quantity', zen_href_link(zen_get_info_page($_GET['products_id']), zen_get_all_get_params(array('action')) . 'action=add_product'), 'post', 'enctype="multipart/form-data" onsubmit="return deineFunktion()"') . "\n"; ?>
          Ebenfalls in dieser Datei, diesen Teil, wie unten gezeigt, einfügen <span id="minab">' . zen_get_products_quantity_min_units_display((int)$ _GET['products_id']) . '</span>

          Code:
          $the_button = PRODUCTS_ORDER_QTY_TEXT . '<input type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($_GET['products_id'])) . '" maxlength="6" size="4" />
          <span id="minab">' . zen_get_products_quantity_min_units_display((int)$_GET['products_id']) . '</span>
          ' . zen_draw_hidden_field('products_id', (int)$_GET['products_id']). zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT);

          Der dazugehörige Javascript ist noch nicht wirklich ausgereift und funktioniert nur, wenn Mindestabnahme und Abnahmeeinheit mit sinnvollen Werten belegt sind.

          Kommentar


            #6
            Ups, hier der Script

            Code:
            function deineFunktion(){
            if(document.getElementById('minab')) {
            a = document.getElementById('minab');
            
            cts = a.firstChild.data;
            
            spwords = cts.split(' ');
            anzahl = document.forms['cart_quantity'].elements['cart_quantity'].value;
            
            
            for (var i = 0; i < spwords.length; i++){
            //++++++++++++++++++++++++++++++++++++
            	isnumb = spwords[i].split(':');
            	
            		for (var n = 0; n < isnumb.length; n++){
            			if(!isNaN(isnumb[n])){
            			
            				if(isUnsignedInteger(anzahl) && isUnsignedInteger(anzahl/isnumb[n])) return true;
            				
            				else{
            			alert('Ungültige Eingabe. Mindestbestellmenge bzw. Verpackungseinheit beachten!');
            			return false
            			}
            				
            				}
            		}
            }
            }
            
            
            }

            Kommentar


              #7
              Danke für den Code.

              Gruß
              MaleBorg

              Kommentar


                #8
                Gern geschehen.

                Hab gerade gesehen, dass im JS die Funktion isUnsignedInteger() fehlt,
                die muss natürlich noch da rein, sorry.
                Code:
                function isUnsignedInteger(s) {
                return (s.toString().search(/^[0-9]+$/) == 0);
                }

                Kommentar

                Info zu diesem Forenarchiv:
                Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
                Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
                Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
                PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
                Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
                FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

                Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
                Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
                Fehler in der Software können auf Github als Issues gemeldet werden.
                Follow us
                aktuelle version
                Zen Cart 1.5.7h deutsch
                vom 15.04.2024
                [Download]
                Lädt...
                X