Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: Attribute Auswahl Pflicht

    wurstgulasch

    • Fördermitglied
    • Beiträge: 34
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #45 am: 26. August 2013, 12:54:18
    Ich hab da noch mal eine Frage? Wenn ich das template wechsel, bleibt doch die eigentliche Software gleich, oder?
    Ich dachte ich muß dann nur folgendes ändern:

    Zitat
    und die Funktion so ins Template am Anfang einfügen:

    /templates/xtc5/module/product_info/product_xx.html

    Code: PHP  [Auswählen]
        {literal}
        <script type="text/javascript"><!--
        function wk_check(search){
        var element = document.forms["cart_quantity"].elements;
            for (var i=0;i<element.length;i++) {
            if(element[i].options[element[i].selectedIndex].text.indexOf(search) != -1) {
              alert(unescape('{/literal}{#please_select#}{literal}'));
              return false;
            }
          }
        }
        //-->
        </script>
        {/literal}

    und das an gewünschter Stelle im Template platzieren:

    Code: PHP  [Auswählen]
     {if $error}<div class="errormessage">{$error}</div>{/if}

    Wenn ich das bei dem anderen Template mache, erscheint zwar der Kasten für die Warnmeldung, aber es steht nichts drin.
    Wo liegt da der Fehler?

    Gruß Wurstgulasch

    wurstgulasch

    • Fördermitglied
    • Beiträge: 34
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #46 am: 29. August 2013, 10:19:35
    Nachdem ich nochmal alle Seiten dieses Themas durchgelesen hatte, ist mir aufgefallen wo der Fehler lag. Der Fehler war, dass ich das Script noch vor

    Code: PHP  [Auswählen]
     {config_load file="$language/lang_$language.conf" section="product_info"}

    ins Template eingefügt hab. :oops:

    Jetzt funktioniert es wunderbar.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #47 am: 29. August 2013, 10:29:49
    Danke für die Rückmeldung und weiterhin viel Erfolg. :!:

    Grüße

    Torsten

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #48 am: 11. September 2013, 08:24:03
    Kann es sein, dass diese Anleitung für die aktuelle modified Funktion nicht funktioniert? Denn der Default-Wert "Bitte auswählen" wird nicht angezeigt.

    Bin gerade zig Mal die Anleitung durchgegangen und habe nun auch mal ein

    Code: PHP  [Auswählen]
    print_r($products_options_data[$row]['DATA'][$col]

    gemacht und siehe da, im Array wird die ID => 0 garnicht ausgegeben.

    Gruß
    Ronny

    EDIT:
    Wenn ich diese Zeile

    Code: PHP  [Auswählen]
    $products_options_data[$row]['DATA'][0] = array ('ID' => 0, 'TEXT' => PULL_DOWN_DEFAULT);

    nach

    Code: PHP  [Auswählen]
    $full = $products_price + $attr_price;

    in der includes/modules/product_attributes.php einfüge, funktioniert alles.

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #49 am: 09. Mai 2014, 10:54:47
    Hallo alle,

    ich habe laut der Anweisung von GTB die Auswahl als Pflichtfeld erfolgreich eingebaut.
    Wenn man ein Auswahlfeld vergisst, auszuwählen, und es sind mehrere vorhanden, werden alle wieder auf "bitte wählen" zurückgestellt.
    Gibt es eine Möglichkeit, dass sich die anderen Felder nicht wieder auf "bitte wählen" zurückstellen und man nur das auswählen muss, welches vergessen wurde? Das gefällt so manchem Kunden bestimmt nicht.

    Gruß

    Robert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #50 am: 09. Mai 2014, 12:08:07
    Dann hast du was verkehrt implementiert.
    Javascript Alerts bewahren die ausgewählten Optionen in Dropdowns da das Formular nicht abgesendet wird.
    Da du wahrscheinlich eine Implementation mit PHP-Fallback hast, überprüfe mal ob das Form abgesendet wird wenn nicht bei allen Dropdowns eine Option gewählt wurde.
    Wenn das der Fall ist mußt du entweder die Implementation überprüfen und/oder auf PHP-Ebene dafür sorgen, daß die Werte erhalten bleiben.

    Generell:
    Ohne Code und genauere Erklärung was du implementiert hast ist der Rest  :glaskugel:.

    Gruß,
    noRiddle

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #51 am: 11. Mai 2014, 14:21:52
    Javascript scheint nicht zu funktionieren, da nur das Feld "bitte alle Felder auswählen" (siehe Anhang) erscheint.

    Hier die betreffenden Stellen in den Dateien, wie ich die Anpassungen gemacht habe:

    product_info.php:

    Code: PHP  [Auswählen]
      // form tags
      //$info_smarty->assign('FORM_ACTION', xtc_draw_form('cart_quantity', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_get_all_get_params(array ('action')).'action=add_product')));
      $info_smarty->assign('FORM_ACTION', xtc_draw_form('cart_quantity', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_get_all_get_params(array ('action')).'action=add_product'),'post','onsubmit="return wk_check(\''.PULL_DOWN_DEFAULT.'\')"'));
      $info_smarty->assign('FORM_END', '</form>');

    product_info_v1.html:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="product_info"}
        {literal}
        <script type="text/javascript"><!--
        function wk_check(search){
        var element = document.forms["cart_quantity"].elements;
            for (var i=0;i<element.length;i++) {
            if(element[i].options[element[i].selectedIndex].text.indexOf(search) != -1) {
              alert(unescape('{/literal}{#please_select#}{literal}'));
              return false;
            }
          }
        }
        //-->
        </script>
        {/literal}
           
    {$FORM_ACTION}

    <div id="productinfowrap">
    <h1 class="produkt">{$PRODUCTS_NAME}</h1>

    und

    Code: PHP  [Auswählen]
    <!-- BOF - Tomcraft - 2009-11-28 - Included xs:booster //-->
            {if $XTB_REDIRECT_USER_TO=='product'}<div style='width:400px;padding:10px;color:white;background-color:green;'><strong>Sie haben die eBay Auktion gewonnen!</strong><br/>Bitte w&auml;hlen Sie nun noch die gew&uuml;nschten Produkteigenschaften und legen Sie den Artikel danach in den Warenkorb, um mit der Zahlung fortzufahren und das Produkt versandfertig zu machen!</div>{/if}
    <!-- EOF - Tomcraft - 2009-11-28 - Included xs:booster //-->
                {if $error}<div class="errormessage">{$error}</div>{/if}
            <div class="addtobasket"><div class="add-Qty">{$ADD_QTY}</div><span>{$ADD_CART_BUTTON}</span></div>
            {if $PRODUCTS_DESCRIPTION !=''}<div class="description">{$PRODUCTS_DESCRIPTION}</div>{/if}
            <div style="clear:both;"></div>

    product_attributes.php:

    Code: PHP  [Auswählen]
       //$col = 0;
        //while ($products_options = xtc_db_fetch_array($products_options_query,true)) {
            $products_options_data[$row]['DATA'][0] = array ('ID' => 0, 'TEXT' => PULL_DOWN_DEFAULT);
        $col = 1;
        while ($products_options = xtc_db_fetch_array($products_options_query,true)) {
          $price = '';

    und

    Code: PHP  [Auswählen]
              unset ($products_options_data[$row]['DATA'][$col]['PREFIX']);
            }

          }
          $col ++;
        }
        $row ++;
                if (isset($_GET['error']) && $_GET['error']=='attributecheck') {
          $info_smarty->assign('error', ATTRIBUTE_ERROR);
        }
      }


      if ($product->data['options_template'] == '' or $product->data['options_template'] == 'default') {

    cart_actions.php:

    Code: PHP  [Auswählen]
            if (isset($econda) && is_object($econda)) {
              $econda->_emptyCart();
              $old_quantity = $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], isset($_POST['id'])?$_POST['id']:''));
              $econda->_addProduct($_POST['products_id'], $cart_quantity, $old_quantity);
            }
                    //MS - Attributpflicht von GTB
            if (isset($_POST['id'])) {
              while (list ($option, $value) = each($_POST['id'])) {
                if($value==0){
                  xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . (int) $_POST['products_id'] . '&error=attributecheck','NONSSL'));
                }
              }
            }
            //MS - Attributpflicht von GTB
            $_SESSION['cart']->add_cart((int)$_POST['products_id'], $cart_quantity, isset($_POST['id'])?$_POST['id']:''); //DokuMan - 2012-06-11 - added isset-check for $_POST['id']
          }
          xtc_redirect(xtc_href_link($goto, 'products_id=' . (int)$_POST['products_id'] . '&' . xtc_get_all_get_params($parameters)));
          break;

    german.php:

    Code: PHP  [Auswählen]
    //Auswahl als Pflichtfeld
    define('ATTRIBUTE_ERROR', 'Bitte alle Felder auswählen');

    lang_german.conf:

    Code: PHP  [Auswählen]
    [product_info]
    stock = 'Bestand:'
    weight = 'Gewicht:'
    status = 'Status:'
    selled = 'Bereits verkauft:'
    model = 'Art.Nr.:'
    print = 'Artikeldatenblatt drucken'
    text_shippingtime = 'Lieferzeit:'
    text_zoom = 'Bild vergr&ouml;&szlig;ern'
    #BOF web28 - 2010-07-09 - TAB Headers
    description = 'Details'
    cross_selling = 'Empfehlung'
    also_purchased = 'Kunden-Tipp'
    products_reviews = 'Meinungen'
    products_media = 'Downloads'
    more_images = 'Mehr Bilder'
    #EOF web28 - 2010-07-09 - TAB Headers
    #BOF DokuMan - 2010-08-13 - show expiry date of special products
    text_expires_date = 'Sonderangebot g&uuml;ltig bis:'
    #EOF DokuMan - 2010-08-13 - show expiry date of special products
    #BOF - Tomcraft - 2011-02-24 - Get manufacturer name etc. for the product page
    manufacturer_more_of = 'Mehr Artikel von:'
    #EOF - Tomcraft - 2011-02-24 - Get manufacturer name etc. for the product page
    please_select = 'Achtung%21 bitte zuerst Ausf%FChrung w%E4hlen.'

    M. E. habe ich alles korrekt eingefügt. Eventuell hängt das mit dem Kalkulations-Modul von Alkim zusammen, das installiert ist?

    Roberto75

    • Viel Schreiber
    • Beiträge: 836
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #52 am: 11. Mai 2014, 18:01:44
    Das liegt am Template. Ich habe ein anderes Template installiert. Mit dem Originaltemplate xtc5 funktioniert alles.
    Hat einer eine Idee, woran das liegen könnte?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #53 am: 12. Mai 2014, 18:11:35
    Nee, weil man ja ohne  :glaskugel: nicht weiß welches Template Du hast.

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #54 am: 12. Mai 2014, 18:48:15
    Das liegt am Template. Ich habe ein anderes Template installiert. Mit dem Originaltemplate xtc5 funktioniert alles.
    Hat einer eine Idee, woran das liegen könnte?

    Es gibt ja templatespezifisch nur die product_info_v1.html die sich in den verschiedenen Templates evtl. unterscheidet. Du diese mal mit der funktionierenden aus dem xtc5 Template vergleichen.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #55 am: 13. Mai 2014, 17:40:03
    Wenn das Javascript der Implementation nicht fire-t, error_reporting aktivieren und in die Konsole mit Firebug oder ähnlichen Tools in anderen Browsern schauen (Konsole öffnen und was in den Warenkorb legen ohne Optionen gewählt zu haben).

    Gruß,
    noRiddle

    Martin79

    • Neu im Forum
    • Beiträge: 44
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #56 am: 07. Oktober 2015, 12:47:53
    Hallo,

    ich habe versucht diese Änderung umzusetzten. Leider bekomme ich keine Fehlermeldung in der product_info_xxxxx.html wenn "Bitte wählen" ausgewählt ist. Finde den Fehler leider auch nicht.

    Ich benutze die Shopversion 1.06 rev 4642 SP2 und das Template von Karl (Bootstrap 2).

    Kann mir jemand weiterhelfen?

    Gruß Martin

    platzerits

    • Neu im Forum
    • Beiträge: 13
    Re: ANLEITUNG: Attribute Auswahl Pflicht
    Antwort #57 am: 25. Februar 2016, 08:34:58
    Hallo,

    ich habe versucht diese Änderung umzusetzten. Leider bekomme ich keine Fehlermeldung in der product_info_xxxxx.html wenn "Bitte wählen" ausgewählt ist. Finde den Fehler leider auch nicht.

    Ich benutze die Shopversion 1.06 rev 4642 SP2 und das Template von Karl (Bootstrap 2).
    [...]

    Gibt es hierfür schon eine Lösung?
    5 Antworten
    4749 Aufrufe
    11. September 2013, 15:44:03 von r0bs
    10 Antworten
    4780 Aufrufe
    05. Januar 2012, 12:43:42 von GTB
    2 Antworten
    3028 Aufrufe
    09. Oktober 2013, 15:11:54 von beeb
    8 Antworten
    4373 Aufrufe
    25. September 2011, 13:11:24 von Tomcraft