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
2
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 Post-Sale Synchronisation Shopify-Connector 0
Neu Artikel wird als Warenpost erkannt, obwohl er keine Warenpost ist JTL-ShippingLabels - Fehler und Bugs 3
Neu Ausgeblendete Kategorie ohne Artikel werden gefunden - JTL-Search JTL-Search 0
Neu Offene Artikel mehrfach buchen Allgemeine Fragen zu JTL-POS 0
Neu Feature Request: Merkmal "Negativer Artikel" Allgemeine Fragen zu JTL-POS 0
Sonderpreise - Mehrere Artikel gleichzeitig bearbeiten JTL-Wawi 1.6 1
Neu JTL-Shop oder Workflow: Artikel mit Menge > 1 sollen trotzdem als separate Einzelartikel im Auftrag aufgeführt werden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Creation Date der Artikel Falsch Shopware-Connector 0
Neu Per Button/ Link Artikel in den Warenkorb legen Technische Fragen zu Plugins und Templates 1
Neu Artikel im Shop ausblenden, aber in Tabelle tartikel lassen Allgemeine Fragen zu JTL-Shop 4
Neu Artikel mit PReisabfrage Negativer Betrag für Lotto-Auszahlung Allgemeine Fragen zu JTL-POS 1
Neu Artikel auf Amazon Listen User helfen Usern - Fragen zu JTL-Wawi 4
Artikel per Ameise mehreren Kategorien zuordnen - Artikeldatenimport in WaWi nicht mehr vorhanden JTL-Wawi 1.8 6
SQL Abfrage für verkaufte Artikel + aktueller Bestand JTL-Wawi 1.8 1
Neu Suche nur in Kategorien anstatt Artikel Allgemeine Fragen zu JTL-Shop 0
Nachträglich Zölle bei Artikel EK-Netto einpflegen JTL-Wawi 1.8 4
Neu Probleme mit Artikel Abgleich Shopware-Connector 2
Neu Variations Artikel mit Kindern automatisch Stücklisten zuweisen Arbeitsabläufe in JTL-Wawi 4
Neu Artikel von JTL mit Ebay verbinden in Easy Action Einrichtung und Installation von JTL-eazyAuction 2
Neu Artikel im Warenkorb wird von 1 auf null runtergesetzt. Anstatt es zu entfernen wird es automatisch wieder auf 1 gesetzt Allgemeine Fragen zu JTL-Shop 6
Neu Status: Artikel vergriffen andere Farbe geben Allgemeine Fragen zu JTL-Shop 0
Neu Export Gesamtpreis für Artikel mit Mindestabnahme Allgemeine Fragen zu JTL-Shop 0
Neu Shopping Feed übertragt nicht alle Artikel an Google Allgemeine Fragen zu JTL-Shop 2
Neu Artikel nach Übertragung von JTL auf geplant im Jahr 2030 WooCommerce-Connector 2
Neu 💙 Neues Plugin: Wunschzettel Plus (Wunschzettelauswahl direkt am Artikel) Plugins für JTL-Shop 0
Neu SW5 Artikel nachträglich Variantenartikel Shopware-Connector 4
Artikel als neu kennzeichnen JTL-Wawi 1.8 3
Artikel bei Conrad anlegen JTL-Wawi 1.8 0
Neu Überverkäufe aktiviert doch beim Artikel steht Ausverkauft JTL-Shop - Fehler und Bugs 1
Neu Amazon Varianten anlegen bei bestehendem Artikel Amazon-Anbindung - Fehler und Bugs 0
Neu Alles Artikel "unverkäuftlich" mit Urlaubshinweis JTL-Ameise - Ideen, Lob und Kritik 4
Neu Probleme mit Artikelzustand bei Ebay Laufene Artikel ändern Einrichtung und Installation von JTL-eazyAuction 4
Benutzerrechte - Artikel auf Einkaufsliste setzen JTL-Wawi 1.6 1
Neu Artikel kopieren / duplizieren Arbeitsabläufe in JTL-Wawi 4
Neu Bestimmte Artikel von JTL-Search ausschließen JTL-Search 0
WaWi Preisuntergrenze für Artikel festschreiben JTL-Wawi 1.7 4
Artikel Netto Preis von 4 Nachkommastellen auf 2 umstellen JTL-Wawi 1.7 5
Neu Artikel: Stückliste & Lieferant User helfen Usern - Fragen zu JTL-Wawi 1
Neu Zusatzkosten für Artikel Gelöste Themen in diesem Bereich 17
Neu Artikel wieder dem Vater zu ordnen User helfen Usern - Fragen zu JTL-Wawi 4
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
In Bearbeitung Artikel über csv-Datei bearbeiten und importieren Allgemeine Fragen zu JTL-POS 3
Workflow Artikel + Anzahl in Einkaufsliste aktualisieren JTL-Wawi 1.8 0
Neue angelegte Artikel ausverkauft - kein Erscheinen auf Bestellvorschlägen JTL-Wawi 1.6 1
Neu Sortierung von Artikel nach Preis absteigend Allgemeine Fragen zu JTL-Shop 4
Neu Artikel nicht pro Stk. sondern pro kg verkaufen User helfen Usern 2
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
Neu Verschiedene Artikel pro Lagerplatz beschränken JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Issue angelegt [WAWI-75449] Artikel duplizieren - ASIN wird nicht mit dupliziert. JTL-Wawi - Fehler und Bugs 1
Neu Bewertungen mittels Importtabelle auf andere Artikel übertragen User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen