Synchronisation Artikel / richtiges Löschen der Artikel

vowawi

Aktives Mitglied
6. Juni 2007
23
0
Hi,
bei der Webshop-Synchronisation (insbesondere Artikel) sind mir folgende Punkte aufgefallen:
1. Gelöschte Artikel (in JTL-Wawi) werden auf VM-Seite nicht gelöscht, sondern diese Produkte werden auf unpublished gesetzt.
2. Werden Produkte in virtuemart gelöscht, werden die Artikel bei JTL-Wawi nicht gelöscht.
3. Eine erneute Synchronisation legt diese Produkte (siehe 2.) nicht wieder an, da die Mapping-Tabelle (jtlwawi_martikel) die Zuordnung zu dem gelöschten Produkt noch enthält.

Für mich stellt die Wawi das führende System dar, somit stelle ich mal dies zur Diskussion:
zu 1. VM-Produkte sollten, wenn sie aus der Wawi entfernt wurden ebenso gelöscht werden.
zu 2. Das ist gut so, da die Änderungen im Shop keine Auswirkungen auf die Wawi haben sollten.
zu 3. Produkte sollten wieder über die Synchronisation angelegt werden, auch wenn sie mal im VM-Shop gelöscht wurden.

Was meint Ihr ?

Gruß Volker
 

Guenter H.

Moderator
Mitarbeiter
10. November 2006
4.225
4
Styria / Austria
Re: Synchronisation Artikel

hi,

Zitat von vowawi:
Hi,
bei der Webshop-Synchronisation (insbesondere Artikel) sind mir folgende Punkte aufgefallen:
1. Gelöschte Artikel (in JTL-Wawi) werden auf VM-Seite nicht gelöscht, sondern diese Produkte werden auf unpublished gesetzt.

das wird auch beim XTC- shop so gehandhabt. es gibt aber eine connector-anpassung, wo beim löschen von artikel in der wawi diese auch aus der shop-db gelöscht werden. connector anpassung XTC



Zitat von vowawi:
2. Werden Produkte in virtuemart gelöscht, werden die Artikel bei JTL-Wawi nicht gelöscht.

änderungen an artikel sollten ausschließlich über die wawi durchgeführt werden, da es ansonsten zu problemen kommen kann. siehe zb. hier: löschen von artikel im shop-admin
Zitat von vowawi:
3. Eine erneute Synchronisation legt diese Produkte (siehe 2.) nicht wieder an, da die Mapping-Tabelle (jtlwawi_martikel) die Zuordnung zu dem gelöschten Produkt noch enthält.

siehe punkt 2

grüße

günter
 

vowawi

Aktives Mitglied
6. Juni 2007
23
0
Löschen von VM-Produkten statt unpublished

Hallo Günter,
vielen Dank für deine Hilfe sowie die hilfreichen Links.
Das Löschen von Produkten im VM- Shop werde ich somit organisatorisch sicherstellen, ist okay so.
Die Sache mit der Connector-Anpassung ist für mich ein bischen schwieriger, da ich noch zu wenig php-Kenntnisse habe. Nun habe ich mal folgenden Ansatz gewählt:
Artikel.php ab Zeile 116
Code:
		if ($product_id>0)
// Produkte nicht veröffentlichen, wenn in Wawi gelöscht
//			eS_execute_query("update ".DBPVM."product set product_publish=\"N\" where vendor_id=".VENDOR_ID." and product_id=".$product_id);
// Produkte löschen, wenn in Wawi gelöscht
/* Attribute löschen */
			eS_execute_query("delete from ".DBPVM."product_attribute_sku where product_id=".$product_id); 
/* Kategorien löschen */
			eS_execute_query("delete from ".DBPVM."product_category_xref where product_id=".$product_id);
/* Hersteller-Referenz löschen */
			eS_execute_query("delete from ".DBPVM."product_mf_xref where product_id=".$product_id);							
/* ProduktType-Relationen löschen */
			eS_execute_query("delete from ".DBPVM."product_product_type_xref where product_id=".$product_id);							
/* Produkt-Votes löschen */
			eS_execute_query("delete from ".DBPVM."product_votes where product_id=".$product_id);							/* Produkt-reviews löschen */
			eS_execute_query("delete from ".DBPVM."product_reviews where product_id=".$product_id);
/* Produkt-Relationen löschen */
			eS_execute_query("delete from ".DBPVM."product_relations where product_id=".$product_id);						
/* Produkt-Preise löschen */
			eS_execute_query("delete from ".DBPVM."product_price where product_id=".$product_id);
/* Produkt löschen */
			eS_execute_query("delete from ".DBPVM."product where vendor_id=".VENDOR_ID." and product_id=".$product_id); 
/* Mapping löschen */
			eS_execute_query("delete from jtlwawi_martikel where product_id=".$product_id); 			

 							
		$return = 0;

Den ursprünglichen Update habe ich auskommentiert und die DELETE-Anweisungen eingefügt, mit folgendem Ergebnis:
1. Artikel in Wawi löschen => Produkt in VM wird gelöscht :D

2. Artikel in Wawi inaktiv => Produkt in VM wird gelöscht. Okay, damit kann ich leben, obwohl es mir lieber wäre, wenn ich in der artikel.php das Artikel-Kennzeichen <inaktiv> zur Verfügung hätte. Dann könnte ich den Fall unterscheiden und das Produkt auf "unpublished" setzen. Fällt aber in die Rubrik nice-to-have :)

3. Inaktiven Artikel in Wawi wieder auf aktiv setzen => Produkt wird in VM angelegt, nur sind keine Produktbilder enthalten. Diese werden erst hochgeladen, wenn ich sie in der wawi nochmals zuordne. Muss ich da andes vorgehen ?

4. Was ich beim Löschen noch gar nicht behandelt habe (mangels php-Kenntnisse), ist das Entfernen der zugehörigen Image-Dateien aus dem Shop-Verzeichnis. Falls da noch jemand ein Tipp hätte. :)

Danke und Gruß
Volker
 

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
299
Köln
Hallo Volker,

hast Du doch ganz gut hinbekommen.

Artikel in Wawi inaktiv => Produkt in VM wird gelöscht. Okay, damit kann ich leben, obwohl es mir lieber wäre, wenn ich in der artikel.php das Artikel-Kennzeichen <inaktiv> zur Verfügung hätte.
Beide Ereignisse lösen dasselbe aus, nämlich action=3. Du könntest schummeln und etwa die Mindestbestellmenge für die Deaktivierung des Artikels nutzen. Die Mindestbestellmenge hat nämlich keine Funktion im Shop, wird aber übertragen.

Also zB: Sobald Mindestbestellmenge = 5, dann Produkt auf inaktiv setzen...

4. Was ich beim Löschen noch gar nicht behandelt habe (mangels php-Kenntnisse), ist das Entfernen der zugehörigen Image-Dateien aus dem Shop-Verzeichnis. Falls da noch jemand ein Tipp hätte.
Ob es so wichtig ist, ist eine andere Sache. Platz auf dem Server kostet nichts mehr.

so löschst Du die Bilder auf der Platte:
Code:
if (file_exists(IMAGEPATH."product/".$product_id.".jpg"))
  unlink (IMAGEPATH."product/".$product_id.".jpg");
//vorschaubild löschen
if (file_exists(IMAGEPATH."product/".$product_id."_klein.jpg"))
  unlink (IMAGEPATH."product/".$product_id."_klein.jpg");
 

vowawi

Aktives Mitglied
6. Juni 2007
23
0
Vielen Dank

Hallo Thomas,

vielen Dank für die nützlichen Tipps, die Bilder werden nun gelöscht, den Trick mit der Mindestbestellmenge kann ich so nutzen. Nach wie vor wäre es mir lieber, wenn ich den Fall eindeutig unterscheiden könnte, z.B. über das Feld inaktiv oder über ein eigenes Ereignis (action=?). Vielleicht in einem späteren Release :) .

Jetzt bräuchte ich nur noch'n Tipp für den 3. Punkt:
3. Inaktiven Artikel in Wawi wieder auf aktiv setzen => Produkt wird in VM angelegt, nur sind keine Produktbilder enthalten. Diese werden erst hochgeladen, wenn ich sie in der wawi nochmals zuordne. Muss ich da andes vorgehen ?

Gruß Volker
 

vowawi

Aktives Mitglied
6. Juni 2007
23
0
date of creation / ~ modification

Schade, aber das Wörtchen <derzeit> lässt ja hoffen ... . :)

Weitere Anregungen / Verbesserungsvorschläge meinerseits:

Die DB-Felder der product-Tabelle
cdate ... date of creation (Timestamp)
mdate ... date of modification (Timestamp)
werden im Moment bei der Synchronisation nicht befüllt.
Dadurch wird nichts angezeigt bzw. sind solche Abfragen, wie z.B. "neueste Artikel der letzten 10 Tage" nicht möglich.

In der Artikel.php habe ich folgende Änderungen gemacht:
1. Variable eingefügt:
$timestamp = time();

2. DB-Update (ab Zeile 61) sieht nun so aus:
Code:
eS_execute_query("update ".DBPVM."product set 
									product_sku=\"".$artikel->cArtNr."\",
									product_s_desc=\"".$artikel->cKurzBeschreibung."\",
									product_desc=\"".$artikel->cBeschreibung."\",
									product_publish=\"Y\",
									product_weight=\"".$artikel->fGewicht."\",
									product_weight_uom=\"kg\",
									product_in_stock=\"".$artikel->nLagerbestand."\",
									product_availability=\"".$einstellungen->liefertermin."\",
									product_special=\"".$artikel->cTopArtikel."\",
									product_name=\"".$artikel->cName."\",
									product_tax_id=\"".$tax_rate_id."\",
									product_unit=\"".$artikel->cEinheit."\",
									mdate=".$timestamp."									
								where
									vendor_id=".VENDOR_ID." and
									product_id=".$product_id);

3. Der DB-Insert (ab Zeile 93) so:
Code:
eS_execute_query("insert into ".DBPVM."product (product_sku, product_s_desc, product_desc, product_publish, product_weight, 
product_weight_uom,product_in_stock, product_availability, product_special, product_name, product_tax_id, product_unit, 
vendor_id, cdate, mdate) values 
(\"".$artikel->cArtNr."\",\"".$artikel->cKurzBeschreibung."\",\"".$artikel->cBeschreibung."\",\"Y\",\"
".$artikel->fGewicht."\",\"kg\",\"".$artikel->nLagerbestand."\",\"".$einstellungen->liefertermin."\",\"
".$artikel->cTopArtikel."\",\"".$artikel->cName."\",\"".$tax_rate_id."\",\"".$artikel->cEinheit."\"
,".VENDOR_ID.",".$timestamp.",".$timestamp.")");

Meine Tests waren erfolgreich, vielleicht könnt Ihr mal eine Qualitätssicherung vornehmen bzw. den Code übernehmen.

Grüße Volker
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Fehlermeldung bei Synchronisation aus der WaWi: "Artikel "XYZ" kann nicht hochgeladen werden, da der Shop den Steuersatz '19' nicht unterstützt." WooCommerce-Connector 1
Artikelübersicht - Anzeige ob Artikel im Shop (NICHT Kasse) aktiv oder nicht - möglich ? JTL-Wawi 1.9 7
Neu Artikel-Sortiernummern exportieren? User helfen Usern - Fragen zu JTL-Wawi 5
Beantwortet (gelöst) Fehler Shopify Abgleich - Bestellungen werden plötzlich nicht mehr importiert / Artikel wahrscheinlich auch nicht aktualisiert Shopify-Connector 2
Neu Lagerbestand nach Alter der Artikel filtern User helfen Usern - Fragen zu JTL-Wawi 1
Artikel Stammdaten einfügen, eigene Felder einzeln auslassen JTL-Wawi 1.10 2
Neu Artikel aus der Kategorieübersicht zum Warenkorb hinzufügen? Allgemeine Fragen zu JTL-Shop 0
Artikel aus Selektion verschieben JTL-Wawi 1.10 1
Artikel aus Amazon löschen JTL-Wawi 1.7 10
Artikel stehen auf eingestellt erscheinen aber nicht bei Kaufland kaufland.de - Anbindung (SCX) 0
Neu Workflow Artikel Erscheint am Datum überschritten, Bestandsführung aktivieren. User helfen Usern - Fragen zu JTL-Wawi 2
Neu COUPON - auf bestimmte Artikel beschränken Allgemeine Fragen zu JTL-Shop 1
Artikel mehreren Kategorien per Ameise zuordnen JTL-Wawi 1.9 3
Artikel Duplizieren bringt Fehlermeldung und WaWi hängt sich auf WaWi 1.10.10.3 JTL-Wawi 1.10 3
Neu Idee: Artikel-, Sammel- und VPE-Etikett (oder auch Gebinde) verfügbar machen JTL-Plan&Produce - Ideen, Lob und Kritik 0
Neu JTL-Connector (Drittanbieter) - Kein product.push (oder andere Artikel Updates) über Worker User helfen Usern - Fragen zu JTL-Wawi 0
Neu HOOK_PRODUCTFILTER_GET_BASE_QUERY - Artikel korrekt ausfiltern. Allgemeine Fragen zu JTL-Shop 3
Neu EBAY Keine Rückmeldung ob Artikel eingestellt wurde eBay-Anbindung - Fehler und Bugs 0
Neu Anzahl Artikel in der Artikelübersicht Allgemeine Fragen zu JTL-Shop 3
Neu Inaktiver Artikel taucht noch im Suchfeld des Shops auf Allgemeine Fragen zu JTL-Shop 7
Artikel wird nach Erstellung nicht in der Wawi angezeigt, ist aber in der Datenbank vorhanden. JTL-Wawi 1.9 4
Auswertung & Statistik Cross Selling Artikel JTL-Wawi 1.9 2
In Diskussion Workflow: Prüfen ob Artikel mit Fehlbestend nach 48h im Zulauf JTL-Workflows - Ideen, Lob und Kritik 2
Neu "Artikel-Label" auf Etiketten ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
In welche Länder wird ein Artikel verkauft? Report erstellen JTL-Wawi 1.8 1
Neu Artikel Bestandsimport via Ameise User helfen Usern - Fragen zu JTL-Wawi 9
Neu WMS Mobile Wareneingang: Etikett für Artikel drucken Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Hochladen Artikel nicht möglich wg. Fehler (Shopware) User helfen Usern - Fragen zu JTL-Wawi 0
Gelöst eigene Chargen Übersicht für "Verknüpfte Artikel" Eigene Übersichten in der JTL-Wawi 7
Neu Größentabelle bei Artikel anzeigen Allgemeine Fragen zu JTL-Shop 13
Neu Export von Artikelnummern, in denen ein Artikel als Komponente enthalten ist mittels JTL-Ameise Arbeitsabläufe in JTL-Wawi 2
Neu Läd keine Kategorien oder Artikel hoch Onlineshop-Anbindung 0
Neu Abbruch Übertragung JTL/WooCommerce wenige Artikel Onlineshop-Anbindung 0
Neu Neuen Artikel anlegen (innerhalb der Auftragsverwaltung) JTL-Wawi - Ideen, Lob und Kritik 4
Neu Artikel ohne Bestand auf "Inaktiv" setzen Shopware-Connector 1
Artikel werden bei Ebay und im Shop willkürlich gelöscht JTL-Wawi 1.9 0
Einen Artikel nur Teilweise gutschreiben, dabei mit Versandkosten verrechnen JTL-Wawi 1.7 0
Kurz- Langbeschreibung Artikel lässt sich für den Ausdruck nicht einstellen bzw. abstellen. JTL-Wawi 1.9 0
Gelöst JTL Shop - Artikel Konfigurator - Menge veränderbar Templates für JTL-Shop 2
Verkaufte Artikel von eBay werden in wawi nicht angezeigt . JTL-Wawi 1.9 0
Neu Inaktive Artikel werden zu Amazon geladen Amazon-Anbindung - Fehler und Bugs 0
Neu Artikelbeschreibung für diverse Artikel ergänzen Arbeitsabläufe in JTL-Wawi 1
Neu ++ Ebay Artikel mit Menge 1 und versch. Variationen ++ Arbeitsabläufe in JTL-Wawi 0
Neu Mediendateien aus Artikel sortimentsübergreifend entfernen JTL Ameise - Eigene Exporte 3
Neu Artikel trotz lagerbestand als nicht lieferbar angezeigt Allgemeine Fragen zu JTL-Shop 3
Neu Preise deaktivieren, aber trotzdem Artikel hochladen. Shopify-Connector 2
SQL-Abfrage – Stückliste-Artikel ausblenden, nur einzelne Positionen anzeigen JTL-Wawi 1.9 3
Neu Artikel erstellen mit einem Lagerplatz User helfen Usern - Fragen zu JTL-Wawi 3
HILFE - Barcode läßt sich nicht mehr scannen (Artikel.EAN, "EAN 128") JTL-Wawi 1.6 6
Neu Google-Export: wie Artikel als Kind- oder Vaterartikel markieren? Plugins für JTL-Shop 0

Ähnliche Themen