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

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
[GELÖST] Wawi startet nicht mehr. Dringendes Problem! JTL-Wawi 1.9 2
Neu Fehlende Bilder JTL zu WooCommerce Englishe Sprache WPML Onlineshop-Anbindung 0
Neu SQL Query zum Bilder löschen Arbeitsabläufe in JTL-Wawi 3
Bilder umbenennen JTL-Wawi 1.9 1
Bilder importieren JTL-Wawi 1.9 1
Neu Artikelübersicht zeigt 2 Bilder pro Artikel oder leeren Rahmen Allgemeine Fragen zu JTL-Shop 5
Nummernliste der Bilder in mobiler Ansicht entfernen Einrichtung JTL-Shop5 8
Nur bestimmte Bilder für einen Marktplatz aktivieren (Hood.de) JTL-Wawi 1.8 2
Neu Bilder für alle Plattformen verwenden User helfen Usern - Fragen zu JTL-Wawi 8
Hochkant Bilder werden nicht vollständig angezeigt JTL-Wawi 1.8 0
Neu Nach Komplettabgleich doppelt und dreifache Bilder? WooCommerce-Connector 6
Neu Bilder ohne Extension übertragen Shopware-Connector 0
Neu IP Sperre beim Versuch Bilder zu downloaden Allgemeine Fragen zu JTL-Shop 2
Neu Bei VarKombi-Artikeln, wie immer eine Farbe und Größe vorauswählen, damit alle Bilder angezeigt werden? Allgemeine Fragen zu JTL-Shop 4
Neu WMS Mobile zeigt keine Bilder an JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Bilder werden nicht auf WMS mobile angezeigt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu JTL Google Shopping Plugin - Bilder Updaten Plugins für JTL-Shop 3
Neu Gibt es eine Möglichkeit zu große Bilder zu verbieten? User helfen Usern - Fragen zu JTL-Wawi 5
Bilder in den Artikelstammdaten aktivieren und erneut senden JTL-Wawi 1.9 3
Neu Bilder sind mobil im fullscreen zu klein Betrieb / Pflege von JTL-Shop 4
Neu Google Bilder Bot Zugriff auf /dbeS/bild.php?a=1375538&n=1&url=0&s=0 Allgemeine Fragen zu JTL-Shop 3
Neu JTL-Infoschreiben "Wichtige Neuerung im Postgesetz zur Kennzeichnungspflicht" - Umsetzung auch für Österreichische Post Labels ? JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Benutzerdefinierte Klasse für Überschrift anlegen funktioniert nicht Templates für JTL-Shop 2
Kategoriebox Nummer für Unterkategorien JTL-Wawi 1.9 2
20 % USt wird für UK nicht ausgewiesen - was mache ich falsch JTL-Wawi 1.9 1
Neu Spezialist für Rechnungsformular-Anpassung benötigt Dienstleistung, Jobs und Ähnliches 1
Getrenntes Lager für den JTL shop JTL-Wawi 1.9 1
Neu Benutzer Authentifizierung für externe App/Shop Onlineshop-Anbindung 1
Sql Abfrage VK Preise pro Kundengruppe für Grafana JTL-Wawi 1.8 9
Neu List & Label - Eigene SQL-Abfrage als Grundlage für Tabelle im Berichtscontainer? User helfen Usern - Fragen zu JTL-Wawi 10
Schnittstelle für Zalando, Kaufland und Otto JTL-Wawi 1.9 5
Neu Die Kennzeichnungspflicht für schwere Pakete kommt am 1.1.2025 JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Ausgabeweg => Beschreibungen werden nicht von JTL Wawi gezogen für Shop/ebay/sonst was User helfen Usern - Fragen zu JTL-Wawi 3
Neu SQL Vartable für Reservierte Artikel gesucht User helfen Usern - Fragen zu JTL-Wawi 2
Herstellername / Verantwortliche Person für die EU für Kaufland kaufland.de - Anbindung (SCX) 1
Neu Umfrage: Scanpflicht auf Artikelebene (Nur für bestimmte Artikel aktivieren/deaktivieren) JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Neu Workflow und Version für Vorhaben Starten mit JTL: Projektabwicklung & Migration 3
Neu Rabatt für Bundles Allgemeine Fragen zu JTL-Shop 2
Neu Suche Dienstleister für Rechnungsvorlage, MwSt Sätze User helfen Usern - Fragen zu JTL-Wawi 0
Provisionsabrechnung für Vertrieb JTL-Wawi 1.9 1
Beantwortet Kosten für Aufträge aus Shopware 5 Shopware-Connector 1
Neu Artikelbestände für Stücklistenartikel blockieren User helfen Usern - Fragen zu JTL-Wawi 2
Neu Attribute für EWR Pflichtangaben - otto.de User helfen Usern - Fragen zu JTL-Wawi 5
Neu Amazon Lister 2.0 Fehlercode: SLR402 Bild "1.jpg" für das Angebot mit SKU "xxxxx" auf Channel "AMAZONDEJTL" wurde nicht gefunden Amazon-Lister - Ideen, Lob und Kritik 0
Neu Variable für Zulaufdatum User helfen Usern - Fragen zu JTL-Wawi 1
Neu Wichtige Infos zu GPSR-Attributen für JTL-eazyAuction und kommende JTL-Wawi Version 1.9.6.0 Einrichtung und Installation von JTL-eazyAuction 77
Welche Einstellung für "Überverkäufe nicht mehr möglich" wenn "alle Lagerbestände null" sind. JTL-Wawi 1.9 5
Neu Preisdarstellung: keine „ab“-Preise mehr mit Staffelpreisen für Produkte ohne Variationen (JTL Shop 5.3.3) Allgemeine Fragen zu JTL-Shop 1
Attribute für EWR Pflichtangaben (ab 13.12.2024) auf den Marktplätzen otto.de & kaufland.de Otto.de - Anbindung (SCX) 8
Neu GTIN/EAN für mehrere Artikel verwenden Arbeitsabläufe in JTL-Wawi 2

Ähnliche Themen