Ich würde gerne die aktuelle Artikelanzahl eines Produktes im Shopping-Cart zur Verfügung haben um damit die Anzeige zu steuern. Soweit ich gesehen habe werden die Daten in der \system\classes\shopping_cart\OrderDetailsCartContentView.inc.php aufbereitet Um den Lagerbestand nun ebenfalls in den Formularen zur Verfügung zu haben müsste ich die public function prepare_data() um eine Abfrage ergänzen. Um die Änderung aber updatesicher zu machen müsste ich jetzt diese Funktion erweitern. Ist das richtig ? Wenn ja, wo muss ich da ansetzen bzw. die neue Datei ablegen und wie bekomme ich die Zuordnung zum jeweiligen Artikel hin oder muss ich die komplette Funktion in eine Overload-Datei packen inkl. meinen Änderungen sodass dann die prepare_data() aus der ursprünglichen Datei gar nicht mehr aufgerufen wird oder wie ist das vorgehen.... stehe etwas auf dem Schlauch und werde aus der Doku nicht so ganz schlau. Kann jemand helfen ? Grüße, Dirk
Willst Du die Anzeige generell im Artikel im WK haben, oder soll das nur da stehen, wenn der Kunde zuviel im Warenkorb hat? Es gab mal eine Anleitung für GX2, - die ist nicht Updatesicher - funktioniert aber auch in meinem verbastelten testshop (3.12.2.1 noch halbwegs. Halbwegs deshalb, weil es nicht mit Eigenschaften geht, da kommt die normale Anzeige ohne den Lagerbestand Da wird der Text den man bei "nicht in ausreichender Menge" eingeben kann um den Lagerbestand ergänzt. sieht im WK dann z.B. so aus: die Datei, die da geändert wird ist die inc/xtc_check_stock.inc.php Diese scheint sich seit 2012 nicht geändert zu haben. Für die generelle Anzeige teste ich mal etwas....
Es geht mir in erster Linie ums Verständnis, dafür bietet siech dieses "Anzeige-Problem" an, welches ich in einem anderen Thread beschrieben habe. Grundsätzlich könnte ich die Änderungen auch direkt in der entsprechenden Datei vornehmen und bei einem Update des Shops dann die Änderung wieder nach pflegen wenn sie überschrieben wurde. Da es aber die Methode mittels den Overloads gibt wäre dies vielleicht die schönere Lösung.
Overload funktioniert leider nicht für alle Dateien. Und ich glaube hier geht es gerade nicht. Ich teste aber gerade etwas anderes....ich hatte bis vor Kurzem im Warenkorb auch eine Anzeige für Extrafelder, ich schau mal eben, ob das auch für die Bestandsanzeige geht.....
Wenn eine Datei im Ordner "classes" liegt, geht es mit einem Overload - zumindest war das mal so. Ich habe auch noch eine alte Anleitung aus den Anfängen des Overload gefunden. (Link nur für registrierte Nutzer sichtbar.) Vielleicht hilft die für ein besseres Verständnis. Die hier angegebenen Pfade und Ordner sind aber nicht mehr aktuell.
Also eigentlich müsste die schon da sein. Es wird ja der Bestand im Warenkorb geprüft. Es gibt auch diese Zeile in der includes/classes/shoppingCart.php: 'quantity' => $this->contents[$products_id]['qty'], Es fehlt offenbar nur die Ausgabe im Template oder Theme
die einzelnen Position aus dem Cart werden über order_details.html über snippet\order_item.html dargestellt und die daten hierfür kommen aus OrderDetailsCartContentView.inc.php. Stimmt das ? Ich glaube ich müsste doch mal den XDebug installieren..
ja, ist so. Ich müsste die Funktion prepare_data() OrderDetailsCartContentView.inc.php um die Ausgabe des Lagerbestandes erweitern (plus natürlich die Templates). Wenn ich es richtig verstehe, dann kann man sich in diese Funktion jetzt nicht einfach einklinken sondern in diesem Fall müsste ich die komplette Funktion plus Änderung in einer Overload platzieren. Die Datei in der dann der Overload steht müsste unter dem Verzeichnisbaum GXUserComponents\overloads\OrderDetailsCartContentView\ liegen. Stimmtdas soweit ?
oder in GXModules/dmun/Warenkorb/Shop/Overloads/OrderDetailsCartContentView/ Da könntest Du auch die snippet/order_item.htm mit den Erweiterungen ablegen