Lausli Posted November 25, 2015 Share Posted November 25, 2015 (edited) Achja, wäre ja auch schön, wenn an diesem einst si hoch gepriesenen eBay Modul bzw. der hochgradig hervorgehobenen Kooperation eBay <> Prestashop mal etwas funktionieren würde. Ich habe jetzt 100 neue Artikel eingestellt. Leggings und Tops hauptsächlich. Alle Artikel haben 3 Bilder, Eine Eigenschaft "Größe" und "Marke" sowie eine Beschreibung und Artikelnamen und alles was man sonst so braucht. Im Modul selbst ist bei "Leggings" u.A. von eBay eine "Hosengröße" verlangt. Diesem Wert habe ich "Größe" zugewiesen, weil dieser Wert bei den Artikel die Größe des Artikels enthält. Dann wollte ich die neuen Artikel Synchronisieren ABER....ja, was aber. Aber das Modul hat nur 3 Leggings und 4 Tops Synchronisiert.....Alle Artikel sind jedoch identisch. Nur die Inhalte ändern sich. Nicht jedoch die Bezeichnungen der Felder. Tja, der Rest ist unter einer Fehlermeldung aufgelistet: Das Artikelmerkmal Größe fehlt. Fügen Sie diesem Angebot Größe hinzu, geben Sie einen gültigen Wert ein und versuchen Sie es dann erneut. Das Artikelmerkmal Größe fehlt. Ähnliches Problem wie einst EAN. Naja nicht ganz. Denn hier gibt es für mich absolut keinen Ansatz wie ich da eine Lösung hervorrufen kann. In der Log bei einem der Artikel die nicht Übertragen wurden stehen bei den Eigenschaften nur diese Werte: <PrimaryCategory> <CategoryID>53159</CategoryID> </PrimaryCategory> <ConditionID>1000</ConditionID> <StartPrice>26.95</StartPrice> <CategoryMappingAllowed>true</CategoryMappingAllowed> <Country>DE</Country> <Currency>EUR</Currency> <DispatchTimeMax>1</DispatchTimeMax> <ListingDuration>Days_30</ListingDuration> <ListingType>FixedPriceItem</ListingType> <PaymentMethods>PayPal</PaymentMethods> <PayPalEmailAddress>xxxxxxxxxxxxxx</PayPalEmailAddress> <PostalCode>1xxxx</PostalCode> <Quantity>1</Quantity> <ItemSpecifics> <NameValueList> <Name><![CDATA[Anlass]]></Name> <Value><![CDATA[Freizeit]]></Value> </NameValueList> <NameValueList> <Name><![CDATA[Marke]]></Name> <Value><![CDATA[TOOFAST]]></Value> </NameValueList> </ItemSpecifics> Marke ist ja drinnen, aber Größe Fehlt gänzlich....was merkwürdig ist, weil es ja Artikel gibt, die Synchronisiert wurden...der gleiche Artikel mit anderem Namen. Mit genau den gleichen inhalten und Feldnamen... AHHHHH ... Aber was besonders interessant ist, ist die Tatsache das ich dieses Merkmal: <NameValueList> <Name><![CDATA[Anlass]]></Name> <Value><![CDATA[Freizeit]]></Value> </NameValueList> Also "Anlass" gar nicht gesetzt habe....trotzdem ist es jetzt da. Verrückt.... In der "AddFixedPriceItem.tpl" steht eigentlich alles richtig drinnen: <ItemSpecifics> {foreach from=$item_specifics key=name item=value} <NameValueList> <Name><![CDATA[{$name}]]></Name> <Value><![CDATA[{$value}]]></Value> </NameValueList> {/foreach} </ItemSpecifics> Könnte man jetzt nur mal schauen, wo die "$item_specifics" zusammengesetzt wird. Aber auch hier wundert es mich, dass es bei einigen Artikel geklappt hat und somit eigentlich es ausgeschlossen sein müsste das der Code Fehler enthält sondern beim parsen etwas schief geht.... In der "loadItemsSpecifixsAndConditions.php" wird alles zusammen gesetzt: $item_specifics = $category->getItemsSpecifics(); $item_specifics_ids = array_map('loadItemsMap', $item_specifics); if (count($item_specifics_ids)) { $sql = 'SELECT `id_ebay_category_specific_value` as id, `id_ebay_category_specific` as specific_id, `value` FROM `'._DB_PREFIX_.'ebay_category_specific_value` WHERE `id_ebay_category_specific` in ('.implode(',', $item_specifics_ids).')'; $item_specifics_values = DB::getInstance()->executeS($sql); } else $item_specifics_values = array(); foreach ($item_specifics as &$item_specific) foreach ($item_specifics_values as $value) if ($item_specific['id'] == $value['specific_id']) $item_specific['values'][$value['id']] = Tools::safeOutput($value['value']); echo Tools::jsonEncode(array( 'specifics' => $item_specifics, 'conditions' => $category->getConditionsWithConfiguration($id_ebay_profile), 'is_multi_sku' => $category->isMultiSku() )); Dann bleibt nur noch die EbaySynchronizer.php ab Zeile 979 private static function _getProductItemSpecifics($ebay_category, $product, $id_lang) { $item_specifics = $ebay_category->getItemsSpecificValues(); $item_specifics_pairs = array(); foreach ($item_specifics as $item_specific) { $value = null; if ($item_specific['id_feature']) $value = EbaySynchronizer::_getFeatureValue($product->id, $item_specific['id_feature'], $id_lang); elseif ($item_specific['is_brand']) $value = $product->manufacturer_name; else $value = $item_specific['specific_value']; if ($value) $item_specifics_pairs[$item_specific['name']] = $value; } return $item_specifics_pairs; } Sieht für mich alles gut aus. Also muss es ja was mit der DB zu tun haben. Wie man da sieht, steht ein Wert bei "Analss" bereits drinnen. Nämlich "20553". Guck ich in der "ps_ebay_category_specific_value" nach "20553" finde ich eine Referenz zur "197" also "Anlass" mit dem Wert "Freizeit: Das erklärt, wieso der Wert immer gesetzt ist in der Log. Nicht aber wieso er dann bei eBay in den Merkmalen nicht erscheint...... ein Manuelles Referenzieren der Hosengröße auf die Größe des Werts hat keinen Erfolg gebracht :S Oder ich habe es falsch gemacht. Ich hoffe jemanden von euch fällt etwas ein. Prestashop 1.6.1.1 eBay v1.11.0 Doe Log ergibt keine Nützlichen Informationen :7 btw.: Die Log könnte auch automatisiert mal gelöscht werden....die ist 400 MB groß und ziemlich unhandlich geworden... Edited November 26, 2015 by Lausli (see edit history) Link to comment Share on other sites More sharing options...
Lausli Posted November 26, 2015 Author Share Posted November 26, 2015 (edited) Lösung: Warum auch immer, wird im eBay Modul bei den Artikelmerkmalen zwei mal "Größe" aufgelistet...In meinen Artikeleigenschaften habe ich es aber nur einmal. Ich habe jetzt ein anderes "Größe" gewählt und die Artikel wurden eingestellt. Frage mich aber wo diese zwei "Größe" herkommen damit ich es löschen kann. Kann es sein, das "Größe" schon ein default Merkmal ist, welches immer da ist ohne das man es als Eigenschaft anlegt oder so? DAU..ich habe einmal "Größe" als Artikeleigenschaft und einmal als Artikelvariante... Naja, Spaß ist, wenn man trotzdem lacht :S Muss man erstmal wissen was was ist. Edited November 26, 2015 by Lausli (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now