-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: Störung bei LInk11 - JTL- Shops teilweise nicht erreichbar Störungsmeldungen 1
Gelöst: Amazon Abgleich Fehlermeldungen Störungsmeldungen 1
Gelöst: Shipping 4.0 gibt fehler: The product entered is unknown. JTL-Wawi 1.11 6
Bilder unter Versand- und Zahlungsart unterschiedlich groß Einrichtung JTL-Shop5 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt Dienstleistung, Jobs und Ähnliches 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt User helfen Usern - Fragen zu JTL-Wawi 7
In Diskussion Workflow für Erinnerungen an bevorstehende Lieferungen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Wie stelle ich Retouren in JTL für DPD ein? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Wroker macht keinen abgleich für Kaufland JTL-Wawi 2.0 8
Neu Beta-Tester gesucht: Produktdaten aus Artikelfotos schneller für JTL/CSV vorbereiten Dienstleistung, Jobs und Ähnliches 0
Neu Kundengruppeneinstellungen für Mindestabnahme und Abnahmeintervall löschen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Wie lange braucht ihr aktuell für die Anlage eines neuen Artikels? JTL-Wawi App 3
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
In Diskussion Tool für Abrechnung von Fulfillment Dienstleistungen Arbeitsabläufe im Fulfillment Network 0
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Keine Labels für Warenpost international über Packtisch JTL-ShippingLabels - Fehler und Bugs 8
Neu Laut Backend Shop Update für Shop 5.71 - Download nicht zu finden? Betrieb / Pflege von JTL-Shop 3
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Neu Artikelname & Beschreibung angepasst für jeweiligen Marktplatz Arbeitsabläufe in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
API 2.1 für OnPrem? JTL-Wawi 2.0 6
Neu Dummy-ID oder Freiposition für Angebot mit mehrzeiliger Beschreibung JTL-Wawi - Ideen, Lob und Kritik 7
Neu Neue Kennzeichnungspflicht für Elektrogeräte (Altgeräterücknahme) Betrieb / Pflege von JTL-Shop 4
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 2
Neu Exportgenehmigung / Ausfuhrgenehmigung automatisch für Auslandskunden als Aufpreis Allgemeine Fragen zu JTL-Shop 2
Für Ihren SQL-Server wurde ein Service Pack zur Verfügung gestellt - nö, gelogen, wie kriege ich die Meldung weg? JTL-Wawi 1.11 15
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Muss man für DHL Versenden 4.0 einen neuen Benutzer bei DHL anlegen? JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 5
Neu Neue Tracking-URL für DPD JTL-ShippingLabels - Fehler und Bugs 4
AboutYou keine Felder für GPSR Daten SCX-(Ninepoint)-Anbindungen 0
globale Angebotsvorlage anpassen für eBay Angebote "Artikelspezifisch" JTL-Wawi 1.11 0
Neu Connectorupdates für Shopware 6.7.7 bzw 6.7.8? Shopware-Connector 39
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0
Neu DRIGEND HILFE!!! Ebay Abgleich endet mit Arithmetischer Überlauffehler für tinyint-Datentyp, Wert = -1. Die Anweisung wurde beendet. eBay-Anbindung - Fehler und Bugs 4
Neu Stornobeleg für Verkauf ohne Rechnung User helfen Usern - Fragen zu JTL-Wawi 9
Neu Neuentwicklung - Helpdesk für JTL Wawi - Eure Ideen und Wünsche? User helfen Usern - Fragen zu JTL-Wawi 4
Kein changelog für 1.11.8 JTL-Wawi 1.11 29

Ähnliche Themen