Hallo,
Testumgebung:
Windows 7 64bit Prof. in VM Ware Workstation
modfiedconnector V1.05
Wawi V099966
Fehlerbeschreibung:
Beim Initialimport von modfied zu JTL werden maximal 50 Kategorien importiert. (Ausnahme wenn sich mehr als 50 Kategorien auf der Rootebene des Kategorienbaumes befinden)
Keine Fehlermeldung (weder beim Import noch in den beiden Logfiles)
Der count in der Wawiansicht ist aber korrekt
Mögliche Ursache:
Da ich keine Fehlermeldung bekommen hab bin ich mal auf Spurensuche im PHP Code gegangen:
In der Methode getChildren() der Klasse "Category extends BaseMapper" wird rekursiv der Kategoriebaum erstellt.
Die getChildren() Methode frag dabei im ersten Durchlauf immer die Root Ebende ab:
Sobald diese vollständig abgearbeitet ist wird Ebene für Ebene abgearbeitet bis die Rekursion vom Limit unterbrochen wird.(Bis hier hin alles Super)
Nur jetzt möchte das Wawi die nächsten 50 Elemente holen.
Also ein erneuter Request und die Rekursion wird wieder mit oben genanntem SQL Query aufgerufen.
Das Problem ist jetzt das alle Elemente der Rootebene schon in der jtl_connector_link Tabelle stehen und somit keine Tupel zurückgegeben werden. (mit "parent_id=0" gib es nichts mehr mit NULL)
Also Rekursion durch die 2. Abbruchbedingung(keine Kinderelemente mehr da) beendet.
Ich hoffe das ich das einigermaßen verständlich erklärt habe.
Würde mich über kurze Rückmeldung freuen!
Testumgebung:
Windows 7 64bit Prof. in VM Ware Workstation
modfiedconnector V1.05
Wawi V099966
Fehlerbeschreibung:
Beim Initialimport von modfied zu JTL werden maximal 50 Kategorien importiert. (Ausnahme wenn sich mehr als 50 Kategorien auf der Rootebene des Kategorienbaumes befinden)
Keine Fehlermeldung (weder beim Import noch in den beiden Logfiles)
Der count in der Wawiansicht ist aber korrekt
Mögliche Ursache:
Da ich keine Fehlermeldung bekommen hab bin ich mal auf Spurensuche im PHP Code gegangen:
In der Methode getChildren() der Klasse "Category extends BaseMapper" wird rekursiv der Kategoriebaum erstellt.
Die getChildren() Methode frag dabei im ersten Durchlauf immer die Root Ebende ab:
Code:
SELECT c.* FROM categories c
LEFT JOIN jtl_connector_link l ON c.categories_id = l.endpointId
AND l.type = 1
WHERE l.hostId IS NULL && c.parent_id=0
Sobald diese vollständig abgearbeitet ist wird Ebene für Ebene abgearbeitet bis die Rekursion vom Limit unterbrochen wird.(Bis hier hin alles Super)
Nur jetzt möchte das Wawi die nächsten 50 Elemente holen.
Also ein erneuter Request und die Rekursion wird wieder mit oben genanntem SQL Query aufgerufen.
Das Problem ist jetzt das alle Elemente der Rootebene schon in der jtl_connector_link Tabelle stehen und somit keine Tupel zurückgegeben werden. (mit "parent_id=0" gib es nichts mehr mit NULL)
Also Rekursion durch die 2. Abbruchbedingung(keine Kinderelemente mehr da) beendet.
Ich hoffe das ich das einigermaßen verständlich erklärt habe.
Würde mich über kurze Rückmeldung freuen!