2016-04-03 15 views
0

Ich habe DAM-Image-Ordner Pfad, und ich möchte tun ImageFolder.getChildren(), es gibt einen leeren Iterator ohne Kinder-Ressource. Dies geschieht nur in der Veröffentlichungsinstanz und funktioniert in der Autoreninstanz. Irgendeine Ahnung? Erlaubnis sollte es nicht sein, da ich den Pfad auflösen und nach Kindern fragen kann, es ist nicht null oder so. Danke für jede Hilfe.AEM CQ 6.1 DAM Ordner zurückgeben 0 Kinder in veröffentlichen

Resource imageFolder = resourceResolver.resolve(imageFolderUrl); 
for (Resource imageResource : imageFolder.getChildren()){ 
    //empty, doesn't run since getChildren() is 0 sized. 
} 
+0

Öffnen Sie die publish-Instanz und prüfen Sie, ob die Bilder in imageFolder vorhanden sind oder nicht. Es kann vorkommen, dass Sie die Bilder nicht vom Autor in die Veröffentlichungsinstanz repliziert haben. Und wenn nicht alle das Bild zuerst veröffentlichen. – Manisha

Antwort

0

Der wahrscheinlichste Grund ist einfach, dass einige Inhalte „fehlenden“ aus dem Publish-Server (das heißt es ist nicht aktiviert war). Gehe zu /crx/de/index.jsp auf dem Publikationsserver und sehen Sie, welcher Inhalt im imageFolder-Pfad ist.

Scheint, wie entweder:

Der Bildordner sich auf veröffentlichen fehlt. In diesem Fall würde resourceResolver.resolve(imageFolderUrl) eine "nicht existierende" Ressource anstelle von null zurückgeben. See the docs. Sie können dies überprüfen:

if (imageFolder.isResourceType(Resource.RESOURCE_TYPE_NON_EXISTING)) { 
    //imageFolder doesn't exist 
} 

Oder es sind keine Bilder unter dem Ordner öffentlich.