AW: Lösung für "Preis ab"
Hallo,
also es gibt eine Lösung für das Problem:
Hintergrund:
Warum kommt das "Ab" bei Artikeln ohne Staffelpreise?
Der
JTL-Connector kennt seitens der
WAWI nur die Kundengruppen "Endkunde" und "Händler". Im Admin des Connectors erstellt man das Mapping für die Zuordnung der Kundengruppen zu den
Shop-Kundengruppen. Das heisst, dass alle Shop-Kundengruppen, die der JTL-Kundengruppe "Endkunde" zugeordnet sind, die gleichen Preise erhalten und genauso bei den "Händlern".
Beim Webshopabgleich wird in den Artikelstamm der Shopdatenbank der Artikelpreis übertragen. Allerdings wird der Artikelpreis für die Menge 1 auch in jede Kundengruppe geschrieben. Genau das erzeugt das "Ab" vor dem Preis, obwohl alle Preise gleich sind.
XTC prüft leider nicht, ob die hinterlegten Preise für die Menge 1 gleich oder unterschiedlich sind. Für XTC gibt es einfach nur mehr als einen Preis und deshalb kommt das "Ab".
Was kann man tun?
Entweder XTC dazu bringen, vor der Preisanzeige einen Vergleich zu machen, oder einfacher die Kundengruppenpreise nur eintragen, wenn es wirklich Staffelpreise gibt.
Dafür muss im Connector dir Datei Artikel.php etwas angepasst werden:
-------------------------------------------------------------------------
1.
Sucht in der Funktion insertPreise($products_id) folgendes:
eS_execute_query("insert into $table (products_id, quantity, personal_offer) values ($products_id,1,".floatval($_POST["ArtikelVKNetto"]).")");
und fügt direkt vor der Zeile folgendes ein:
if (intval($_POST["PAnz1"])>0 || intval($_POST["PAnz2"])>0 || intval($_POST["PAnz3"])>0 || intval($_POST["PAnz4"])>0 || intval($_POST["PAnz5"])>0)
2.
Sucht in der Funktion insertPreise($products_id) folgendes:
eS_execute_query("insert into $table (products_id, quantity, personal_offer) values ($products_id,1,".floatval($_POST["ArtikelVKHaendlerNetto"]).")");
und fügt direkt vor der Zeile folgendes ein:
if (intval($_POST["HAnz1"])>0 || intval($_POST["HAnz2"])>0 || intval($_POST["HAnz3"])>0 || intval($_POST["HAnz4"])>0 || intval($_POST["HAnz5"])>0)
-------------------------------------------------------------------------
Was wird gemacht?
Mit dem Standard DB-Query wird in jede Kundengruppe immer der Artikelpreis geschrieben. Das wollen wir aber nur, wenn es wirklich Staffelpreise gibt.
Also kommt für die beiden Kundengruppen je eine Abfrage davor, die prüft, ob es mindestens einen Staffelpreis gibt. Wenn nicht, dann wird der Artikelpreis nur beim Artikel abgelegt und nicht bei der Kundengruppe.
Das wars auch schon.
Viel Spaß damit.
Steffen