Hi Leute, kann mir jemand verraten, wo die Variable für das Mengeneingabefeld erzeugt wird, und wie ich die generell durch eine "1" ersetze? Ich habe verschiedene Mindestmengen bei unterschiedlichen Artikeln, möchte aber, dass nicht generell die Mindestmenge von "0,4" oder "0,2" im Mengenfeld erscheint, sondern grundsätzlich erstmal die "1". Hoffe, ich hab mich verständlich ausgedrückt... Danke schon mal, Jan
Hallo Jan, die Variable wird in der ProductInfoContentView dem Template zugewiesen. 1. Möglichkeit: Du setzt die Variable gm_min_quantity in der ContentView Datei immer auf 1. 2. Möglichkeit: Die Ausgabe der Variable im Template unterbinden und dort immer eine "1" ausgeben lassen. Ich rate zu Variante 1, da diese über einen Mini-Overload updatesicher wäre ohne das gleich zich Zeilen überschrieben werden. (Anpassung, die sich nur auf die eine Variable bezieht) MfG, Timo
Hallo Timo, ich habe für die aktuelle Shopversion 2.5.2.1 auch die ProductInfoContentView Klasse für das Mengeneingabefeld überladen. Ich habe dies jedoch aus dem Grund getan, weil auch die Bestellung eines Artikels mit eingestellten Mindestmengen und VPEs möglich sein soll. Sozusagen als Musterbestellung. "Ein Muster oder 200 Stück". PHP: // Mindestbestellmenge im Order-Feld mit 1 Muster belegen protected function _assignInputFieldQuantity() { parent::_assignInputFieldQuantity(); //$this->set_content_data('QUANTITY', gm_convert_qty($this->product->data['gm_min_order'], false)); $this->set_content_data('QUANTITY', 1); } Hierzu muss man auserdem die OrderAjaxHandler Klasse überladen um die Fehlermeldung anzupassen: PHP: function proceed().....//if($qty < $products_data['gm_min_order'])if($qty < $products_data['gm_min_order'] and $qty!=1) { $this->v_output_buffer .= GM_ORDER_QUANTITY_CHECKER_MIN_ERROR_1 . str_replace('.', ',', (double)$products_data['gm_min_order']) . GM_ORDER_QUANTITY_CHECKER_MIN_ERROR_2; } $result = $qty / $products_data['gm_graduated_qty']; $result = round($result, 4); // workaround for next if-case to avoid calculating failure // if((int)$result != $result) if((int)$result != $result and $qty!="1") { $this->v_output_buffer .= GM_ORDER_QUANTITY_CHECKER_GRADUATED_ERROR_1 . str_replace('.', ',', (double)$products_data['gm_graduated_qty']) . GM_ORDER_QUANTITY_CHECKER_GRADUATED_ERROR_2;} Das funktioniert auch schon soweit, leider lassen sich jetzt keine Artikel der Menge 1 mehr in den Warenkorb legen. In der Gambio v2.2.2.0 habe ich das noch hinbekommen, da waren aber auch noch die alten {$FORM}- Variablen drin. Meine Frage, an welcher Stelle wird die Mindesmenge oder Schrittweite noch geprüft, damit ich die Funktion ändern kann und der Warenkorb ihn bei der Menge 1 aufnimmt? Der quantity_checker in der OrderAjaxHandler Klasse scheint es nicht alleine zu sein!? Danke Helmut