GX-Bug #70632
geschlossenImport von Afterbuy Artikeln funktioniert nicht, wenn man Unterartikel hat / Import of Afterbuy articles does not work if one has subarticles
0%
Import von Afterbuy Produkten ist nun auch ohne Unterprodukte möglich
Beschreibung
Import von Afterbuy Artikeln funktioniert nicht, wenn man Unterartikel hat
Beim Import der Artikel mit Unterartikeln wird, nicht überprüft ob es auch Unterartikel gibt und löst damit ein Fehler aus, der dann den Import-Vorgang abbrechen lässt.
Hier muss geprüft werden bevor die Unterartikel behandelt werden ob es auch welche gibt.
Kann wie folgt reproduziert werden:
- Shop installieren
- Afterbuy Modul im Modulcenter installieren
- Afterbuy Konfigurieren, Zugangsdaten für API bei Till erfragen
- Im Afterbuy Modul auf "Artikel-Import" klicken
- Umfang des Datenimports auf "vollständige Artikel" auswählen
- Importiere Artikel-Änderungen ab auf 01.09.2023 stellen
- Button Kataloge importieren klicken
- Button "Artikelimport starten / fortsetzen" klicken
Erwartetes Ergebnis:
Der Import der Artikel läuft ohne Fehler durch
Tatsächliches Ergebnis:
Beim Import gibt es viele Einträge im Error-Log
Import of Afterbuy articles does not work if one has subarticles
When importing articles with sub-articles, it is not checked whether there are sub-articles and thus triggers an error, which then cancels the import process.
Here it is necessary to check if there are any sub-articles before handling them.
Can be reproduced as follows:
- install store
- install the Afterbuy module in the module center
- configure Afterbuy, ask Till for access data for API
- click on "article import" in the Afterbuy module
- select scope of data import on "complete articles
- import article changes from set to 01.09.2023
- click button Import catalogs
- click button "Start / continue article import".
Expected result:
The import of the articles runs through without errors
Actual result:
During the import there are many entries in the error log
2023-10-10 14:30:07 WARNING: Invalid argument supplied for foreach()
context:
session ID:
session-652543cd68c026.95059099
code:
2
file:
/GXModules/Gambio/Afterbuy/Admin/Classes/Products/AfterbuyProductMapper.php
line:
262
context:
...
code snippet:
│ $productPicture->setUrl((string)$xmlProductPicture->Url);
│ $productPicture->setAltText((string)$xmlProductPicture->AltText);
├─ foreach ($xmlProductPicture->Childs->ProductPicture as $xmlChild) {
│ $childProductPicture = new ProductPicture();
│ $childProductPicture->setTyp((int)$xmlChild->Typ);