-gelöst Bilder für Varianten verschwinden nach Abgleich

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.

chris99

Aktives Mitglied
3. Oktober 2007
173
0
Hallo,

mir ist vor kurzem aufgefallen, dass wenn man zu einem Artikel in dem schon Varianten existieren und eine neue hinzufügt, die Zuweisungen der schon existierenden Variantenbilder des Artikels im Shop verschwinden, im Image-Verzeichnis existieren diese Bilder noch, aber eben die Zuweisung ist weg. Ich denke mal, dass es am Connector liegt und dieser den Zuweisungpfad durch einen leeren String überschreibt.

PS: Wird es zukünftig möglich sein auch Varianten Bildern zuzuordnen?
 

chris99

Aktives Mitglied
3. Oktober 2007
173
0
Habs jetzt selbst gelöst. Für diejenigen, welche das gleiche Problem mit gelöschten Attributwerten haben, hier meine Lösung:

Als erstes eine neue Tabelle anlegen, in der dann die Werte zwischen gespeichert werden:

Code:
CREATE TABLE `eazysales_attribute_cache` (
  `products_attributes_id` int(11) NOT NULL,
  `products_id` int(11) NOT NULL default '0',
  `options_id` int(11) NOT NULL default '0',
  `options_values_id` int(11) NOT NULL default '0',
  `options_values_price` decimal(15,4) NOT NULL default '0.0000',
  `price_prefix` char(1) collate latin1_general_ci NOT NULL default '',
  `products_options_sort_order` int(11) NOT NULL default '0',
  `product_attribute_is_free` tinyint(1) NOT NULL default '0',
  `products_attributes_weight` float NOT NULL default '0',
  `products_attributes_weight_prefix` char(1) collate latin1_general_ci NOT NULL default '',
  `attributes_display_only` tinyint(1) NOT NULL default '0',
  `attributes_default` tinyint(1) NOT NULL default '0',
  `attributes_discounted` tinyint(1) NOT NULL default '1',
  `attributes_image` varchar(64) collate latin1_general_ci default NULL,
  `attributes_price_base_included` tinyint(1) NOT NULL default '1',
  `attributes_price_onetime` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor_offset` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor_onetime` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor_onetime_offset` decimal(15,4) NOT NULL default '0.0000',
  `attributes_qty_prices` text collate latin1_general_ci,
  `attributes_qty_prices_onetime` text collate latin1_general_ci,
  `attributes_price_words` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_words_free` int(4) NOT NULL default '0',
  `attributes_price_letters` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_letters_free` int(4) NOT NULL default '0',
  `attributes_required` tinyint(1) NOT NULL default '0',  
  PRIMARY KEY  (products_attributes_id));

Als nächstes eine Anpassung in der Artikel.php:

Zeile 57: Vor diesem Code:
Code:
eS_execute_query("delete from ".DB_PREFIX."products_attributes where products_id=".$products_id);

diesen Einfügen:
Code:
eS_execute_query("delete from ".DB_PREFIX."eazysales_attribute_cache");
eS_execute_query("insert IGNORE into ".DB_PREFIX."eazysales_attribute_cache select * from ".DB_PREFIX."products_attributes where products_id=".$products_id);

Anpassung in der VariationWert.php:

Zeile 73-76:

Code:
eS_execute_query("insert into ".DB_PREFIX."products_attributes (products_id,options_id,options_values_id,options_values_price,price_prefix) values($products_id,$products_options_id,$options_values->products_options_values_id,$Aufpreis,\"+\")");
$query = eS_execute_query("select LAST_INSERT_ID()");
$last_attribute_id_arr = mysql_fetch_row($query);					
setMappingEigenschaftsWert($EigenschaftWert->kEigenschaftWert, $last_attribute_id_arr[0], $kArtikel);


Ersetzen mit:
Code:
$cur_query = eS_execute_query("select products_attributes_id from ".DB_PREFIX."eazysales_attribute_cache where products_id=$products_id and options_id=$products_options_id and options_values_id=$options_values->products_options_values_id");
$cur_id = mysql_fetch_object($cur_query);
if (!$cur_id->products_attributes_id)
{					
eS_execute_query("insert into ".DB_PREFIX."products_attributes (products_id,options_id,options_values_id,options_values_price,price_prefix) values($products_id,$products_options_id,$options_values->products_options_values_id,$Aufpreis,\"+\")");
$query = eS_execute_query("select LAST_INSERT_ID()");
$last_attribute_id_arr = mysql_fetch_row($query);					
setMappingEigenschaftsWert($EigenschaftWert->kEigenschaftWert, $last_attribute_id_arr[0], $kArtikel);
} else 
{
eS_execute_query("insert into ".DB_PREFIX."products_attributes select * from ".DB_PREFIX."eazysales_attribute_cache where products_attributes_id=".$cur_id->products_attributes_id);
eS_execute_query("update ".DB_PREFIX."products_attributes set options_values_price=$Aufpreis,price_prefix=\"+\" where products_attributes_id=".$cur_id->products_attributes_id);				}
 

webschnecke

Aktives Mitglied
9. März 2008
59
0
Hallo,


ich habe das bei mir auch mal ausprobiert... da ich ja auch diverse Probleme mit den Bildern, dem Gewicht und der Checkbox Auswahl habe.



Aber so 100% läuft das hiermit auch nicht, habe ich fest gestellt.


POSITIV:
- das BILD der Variation wird nicht mehr gelöscht


Jedoch wird aus JTL nur der Name & der Preis inkl. Präfix übertragen, der Rest wird weiterhin nicht berücksichtigt.

Sollheißen das Bild und das Gewicht müssen weiterhin über ZenCart gepflegt werden.



Greetz
Webschnecke[/u]
 

chris99

Aktives Mitglied
3. Oktober 2007
173
0
Hallo Webschnecke,
Zitat von webschnecke:
Sollheißen das Bild und das Gewicht müssen weiterhin über ZenCart gepflegt werden.
Das liegt aber nicht am Connector, sondern schlicht daran, dass die WaWi die Daten nicht mitüberträgt. (Jedenfalls bei der Version 0.9959, ich denke, dass es in der Version 0.99611 immer noch so ist) Ich vermute mal, dieses Feature wird auch zukünftig den JTL- Shop (2) Nutzern vorbehalten bleiben? Falls nicht, wann kann man mit einer Änderung rechnen?
 

D********t

Guest
Zitat von chris99:
Habs jetzt selbst gelöst. Für diejenigen, welche das gleiche Problem mit gelöschten Attributwerten haben, hier meine Lösung:

Als erstes eine neue Tabelle anlegen, in der dann die Werte zwischen gespeichert werden:

Code:
CREATE TABLE `eazysales_attribute_cache` (
  `products_attributes_id` int(11) NOT NULL,
  `products_id` int(11) NOT NULL default '0',
  `options_id` int(11) NOT NULL default '0',
  `options_values_id` int(11) NOT NULL default '0',
  `options_values_price` decimal(15,4) NOT NULL default '0.0000',
  `price_prefix` char(1) collate latin1_general_ci NOT NULL default '',
  `products_options_sort_order` int(11) NOT NULL default '0',
  `product_attribute_is_free` tinyint(1) NOT NULL default '0',
  `products_attributes_weight` float NOT NULL default '0',
  `products_attributes_weight_prefix` char(1) collate latin1_general_ci NOT NULL default '',
  `attributes_display_only` tinyint(1) NOT NULL default '0',
  `attributes_default` tinyint(1) NOT NULL default '0',
  `attributes_discounted` tinyint(1) NOT NULL default '1',
  `attributes_image` varchar(64) collate latin1_general_ci default NULL,
  `attributes_price_base_included` tinyint(1) NOT NULL default '1',
  `attributes_price_onetime` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor_offset` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor_onetime` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_factor_onetime_offset` decimal(15,4) NOT NULL default '0.0000',
  `attributes_qty_prices` text collate latin1_general_ci,
  `attributes_qty_prices_onetime` text collate latin1_general_ci,
  `attributes_price_words` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_words_free` int(4) NOT NULL default '0',
  `attributes_price_letters` decimal(15,4) NOT NULL default '0.0000',
  `attributes_price_letters_free` int(4) NOT NULL default '0',
  `attributes_required` tinyint(1) NOT NULL default '0',  
  PRIMARY KEY  (products_attributes_id));

Als nächstes eine Anpassung in der Artikel.php:

Zeile 57: Vor diesem Code:
Code:
eS_execute_query("delete from ".DB_PREFIX."products_attributes where products_id=".$products_id);

diesen Einfügen:
Code:
eS_execute_query("delete from ".DB_PREFIX."eazysales_attribute_cache");
eS_execute_query("insert IGNORE into ".DB_PREFIX."eazysales_attribute_cache select * from ".DB_PREFIX."products_attributes where products_id=".$products_id);

Anpassung in der VariationWert.php:

Zeile 73-76:

Code:
eS_execute_query("insert into ".DB_PREFIX."products_attributes (products_id,options_id,options_values_id,options_values_price,price_prefix) values($products_id,$products_options_id,$options_values->products_options_values_id,$Aufpreis,\"+\")");
$query = eS_execute_query("select LAST_INSERT_ID()");
$last_attribute_id_arr = mysql_fetch_row($query);					
setMappingEigenschaftsWert($EigenschaftWert->kEigenschaftWert, $last_attribute_id_arr[0], $kArtikel);


Ersetzen mit:
Code:
$cur_query = eS_execute_query("select products_attributes_id from ".DB_PREFIX."eazysales_attribute_cache where products_id=$products_id and options_id=$products_options_id and options_values_id=$options_values->products_options_values_id");
$cur_id = mysql_fetch_object($cur_query);
if (!$cur_id->products_attributes_id)
{					
eS_execute_query("insert into ".DB_PREFIX."products_attributes (products_id,options_id,options_values_id,options_values_price,price_prefix) values($products_id,$products_options_id,$options_values->products_options_values_id,$Aufpreis,\"+\")");
$query = eS_execute_query("select LAST_INSERT_ID()");
$last_attribute_id_arr = mysql_fetch_row($query);					
setMappingEigenschaftsWert($EigenschaftWert->kEigenschaftWert, $last_attribute_id_arr[0], $kArtikel);
} else 
{
eS_execute_query("insert into ".DB_PREFIX."products_attributes select * from ".DB_PREFIX."eazysales_attribute_cache where products_attributes_id=".$cur_id->products_attributes_id);
eS_execute_query("update ".DB_PREFIX."products_attributes set options_values_price=$Aufpreis,price_prefix=\"+\" where products_attributes_id=".$cur_id->products_attributes_id);				}

Diese Möglichkeit funktioniert zwar 1a, aber leider werden danach auch Änderungen an Kategorien oder ein neu gesetzter Status (aktiv/inaktv) nicht mehr in den Shop übertragen, so das das dann leider händisch im Shopadmin gemacht werden muß. Es wir echt Zeit für eine neu Connectorgeneration, die Shopsysteme haben sich geändert und ind um einiges besser geworden, die Connectoren sind leider veraltet...
 

chris99

Aktives Mitglied
3. Oktober 2007
173
0
Zitat von Dunkelwelt:
Diese Möglichkeit funktioniert zwar 1a, aber leider werden danach auch Änderungen an Kategorien oder ein neu gesetzter Status (aktiv/inaktv) nicht mehr in den Shop übertragen, so das das dann leider händisch im Shopadmin gemacht werden muß.

Die Veränderungen sind nur auf die Variationswerte ausgelegt. Den Code für Kategorien und Status berührt er nicht, zudem werden die Kategorien über die Kategorie.php gesteuert, an der keine Veränderung statt findet, daher kann ich nicht nachvollziehen, dass es erst nach der Änderung so sein soll.

Mit Status (aktiv/inaktiv) meinst du für Kategorien? Wenn ja: Die kategorie.php sieht nur eine Inaktivschaltung vor (entweder hat man die Aktivierung vergessen oder aus anderen Beweggründen nicht eingefügt)

Wenn du eine Inaktive Kategorie wieder aktiv schalten willst, dann suche in der kategorie.php (Zeile 65) nach:
Code:
eS_execute_query("update ".DB_PREFIX."categories set parent_id=$Kategorie->parent_id, sort_order=$Kategorie->nSort where categories_id=".$categories_id);

und ersetze die Zeile durch:

Code:
eS_execute_query("update ".DB_PREFIX."categories set parent_id=$Kategorie->parent_id, sort_order=$Kategorie->nSort, categories_status=1 where categories_id=".$categories_id);

Wenn ein Artikel/Kategorie inaktiv ist, werden die Änderungen am Text usw. nicht an den Shop gesendet. Erst wieder, wenn sie aktiv geschaltet werden.
 

webschnecke

Aktives Mitglied
9. März 2008
59
0
Tagchen,

also ich hatte auch ZEN 137 auf dem Server - der Abgleich mit den Bilder wurde dann ja nicht mehr zerschossen.

Nun bin ich auf einen neuen Server umgezogen und habe die neue ZEN Version genommen. Der Abgleich ansich ist kein Problem, jedoch werden mir wieder die Bilder gelöscht.

Ich habe noch mal nachgesehen, ob der geänderte Code auch wirklich in den Dateien steckt, ja er ist da... darum kann ich mir das echt nicht erklären.

hat sich mit der neuen ZEN Version was geändert???


Greetz
Webschnecke
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Gelöst - SSL Probleme nach Update auf 5.3.1 Betrieb / Pflege von JTL-Shop 2
Neu gelöst: Update von 5.3.0 auf 5.3.1 - Dateien hochgeladen - immernoch alte Version Gelöste Themen in diesem Bereich 6
Neu Webp Bilder werden nicht erstellt. Shop 5.3.1 Allgemeine Fragen zu JTL-Shop 2
Neu Bilder werden nicht an den Shopify-Shop übertragen Shopify-Connector 0
Neu Bilder-Anzahl nach SEO Weiterleitungen aufräumen? Betrieb / Pflege von JTL-Shop 0
Neu Bilder Import über die Ameise JTL-Ameise - Fehler und Bugs 8
Neu Bilder-Verzeichnis anpassen WooCommerce-Connector 1
Neu Dateinamen Bilder Export festlegen? JTL Ameise - Eigene Exporte 5
Neu Shopware 5 Bilder werden nicht übertragen nach Update auf Wawi 1.7.15.6 Shopware-Connector 0
Neu Automatische Sortierung der Bilder & Anzahl der Ebay Bilder eBay-Anbindung - Fehler und Bugs 0
Neu Es werden nur jpg Bilder angezeigt und keine webP Gelöste Themen in diesem Bereich 3
Neu Export CSV Datei inkl. Bilder Schnittstellen Import / Export 1
Neu beim Umstieg von unicorn auf SCX Bilder aktivieren Otto.de - Anbindung (SCX) 1
Neu Kategorie Bilder werden im Webshop nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 3
Neu Bilder von Merkmalen werden nicht angezeigt Gelöste Themen in diesem Bereich 5
Versuch Bilder aus Ebay für Kaufland zu übernehmen JTL-Wawi 1.8 0
Bilder Upload und Fehlermeldung WooCommerce-Connector 0
Neu Bilder werden Falsch im Shop angezeigt. WooCommerce-Connector 0
Neu Bilder öffnen sich in mobiler Version fehlerhaft. Allgemeine Fragen zu JTL-Shop 0
Neu Bilder für Kindartikel Gelöste Themen in diesem Bereich 4
Neu Keine Steuerzone für -1 OR 2+299-299-1=0+0+0+1 -- hinterlegt! JTL-Shop - Fehler und Bugs 0
Neu Coupon gültig für mehrere Artikel. User helfen Usern - Fragen zu JTL-Wawi 0
Neu Anordnung des Elementes für Anzahl der Ergebnisse für Kategorieseiten User helfen Usern - Fragen zu JTL-Wawi 1
Neu Anfrage: Plugins für Bestellfortschritt und Versandkostengrenze gesucht... Plugins für JTL-Shop 1
Auftrag erfassen, nur eine Zeile für Positionsname? JTL-Wawi 1.9 4
Neu Sammelauftrag zusammenfassen für Rechnung User helfen Usern - Fragen zu JTL-Wawi 3
Neu FBA Umlagerung + Vorschlagsmengenberechnung: Spalte für Artikel- /Gesamtgewicht JTL-Wawi - Ideen, Lob und Kritik 0
Neu 1.9.4.1 Ausgabe Dropdown-Menü für Angebote und Aufträge funktioniert nach Update nicht mehr Installation von JTL-Wawi 3
Neu Einkaufspreise für Produktionsartikel JTL-Plan&Produce - Ideen, Lob und Kritik 2
Workflow für Rechnung automatisch als PDF in Verzeichnis abspeichern JTL-Wawi 1.8 9
Versanddaten-Exportvorlage (nicht EU) für DPD Cloud JTL-Wawi 1.8 0
Neu Variable für Steuernummer in Dokumenten Gelöste Themen in diesem Bereich 7
Neu Angebotslink für Klarna JTL-Wawi - Ideen, Lob und Kritik 2
Neu Versandstaffel für ebay einstellen eBay-Anbindung - Ideen, Lob und Kritik 0
Neu Rabatt für Kinder mit Rabattangabe User helfen Usern - Fragen zu JTL-Wawi 2
In Bearbeitung POS Kassenbuch Eintrag für Konto ist leer / Buchungskonto fehlt Allgemeine Fragen zu JTL-POS 1
Neu Anfrage: Sendy Plugin für JTL Shop 5 Plugins für JTL-Shop 0
Neu Anderer Steuerschlüssel für bestimmte Aufträge / Kunden User helfen Usern - Fragen zu JTL-Wawi 1
Neu URLs für Sprache Englisch nicht generieren Allgemeine Fragen zu JTL-Shop 8
Neu Kundendaten extern verschlüsseln (Für den eigenen Shop) und per Import importieren Technische Fragen zu Plugins und Templates 2
Neu Adressabgleich für Shop5 Plugins für JTL-Shop 5
Welche Tabelle für Trennzeichen? JTL-Wawi 1.8 13
In Bearbeitung Feature Request: Epson USB Stick an Epson TM-M30iii für mehrere Kassen Allgemeine Fragen zu JTL-POS 1
Neu Wie stelle ich ohne viel Aufwand fest, ob meine Plugins nach einem Update für JTL Shop 5.3.1 geeignet ist ? JTL-Shop - Ideen, Lob und Kritik 4
Neu Wokflow für Auftrag im Fehlbestand incl Artikelnummer User helfen Usern - Fragen zu JTL-Wawi 6
Neu Link für Newsletter um ihn im Browser zu öffnen Allgemeine Fragen zu JTL-Shop 0
Konsignationslager beim / für Kunden einrichten, aber wie? :) JTL-Wawi 1.8 2
Verwiesen an Servicepartner Workflow für Einkaufsliste User helfen Usern - Fragen zu JTL-Wawi 2
Marktplatzname für Konto-Otto ändern? Otto.de - Anbindung (SCX) 1
Neu Plugin Konfigurator für Breite x Höhe Plugins für JTL-Shop 6

Ähnliche Themen