-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
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 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 Bilder unter "Mehr dieser Waregruppe" und "Kunden, die diesen Artikel gekauft haben, kauften auch" fehlen eBay-Designvorlagen - Fehler und Bugs 0
Neu Amazon Lister übergibt nur das Hauptbild an Amazon, weiter Bilder werden nicht übertragen Amazon-Lister - Fehler und Bugs 0
Neu Wie kann ich Alt-Texte für Bilder an Shopify senden? Shopify-Connector 2
Neu Connector überträgt keine Bilder Shopify-Connector 1
Neu webp-Bilder werden nicht mehr generiert JTL-Shop - Fehler und Bugs 0
Neu Einstellung: "Bilder des Vaterartikels un der folgenden Variationswerte übernehmen" und der Shopware Server "explodiert" Shopware-Connector 11
Neu Bilder werden teilweise in verschiedenen Browser falsch dargestellt Gelöste Themen in diesem Bereich 3
Neu POS Kassenbuch Eintrag für Konto ist leer / Buchungskonto fehlt Allgemeine Fragen zu JTL-POS 0
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 0
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 1
Neu Feature Request: Epson USB Stick an Epson TM-M30iii für mehrere Kassen Allgemeine Fragen zu JTL-POS 0
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
Neu Artikel mit PReisabfrage Negativer Betrag für Lotto-Auszahlung Allgemeine Fragen zu JTL-POS 1
Wie Druckvorlagen Set z.B. für Versandetiketten wechseln? JTL-Wawi 1.7 1
Neu Plugin für Boomerang Versandverpackungen Plugins für JTL-Shop 1
SQL Abfrage für verkaufte Artikel + aktueller Bestand JTL-Wawi 1.8 1
Neu Grundpreisangaben für geringe Gramm-Mengen werden nicht angezeigt Betrieb / Pflege von JTL-Shop 0
Neu mit FBM für Ausland User helfen Usern - Fragen zu JTL-Wawi 2
Neu Falsche Gewinnermittlung für Kleinunternehmer JTL-Wawi - Ideen, Lob und Kritik 8
Neu Netto für Händler gleich, Brutto für Endkunden - Plugin oder andere Alternative? Allgemeine Fragen zu JTL-Shop 0
Neu Mindestbestellwert für Netto-Einkaufswert JTL-Shop 5 Allgemeine Fragen zu JTL-Shop 0
Neu Cron für Export-Manager "tut nix" JTL-Shop - Fehler und Bugs 15
Neu Liquid Variable für Positionsart User helfen Usern - Fragen zu JTL-Wawi 3
Neu leeres Textfeld erstellen für einen Hinweis auf der Rechnung User helfen Usern - Fragen zu JTL-Wawi 2

Ähnliche Themen