2017-08-02 3 views
0

J'ai un navigateur voir my_custom_display, qui peut être sélectionné pour les dossiers en utilisant le menu: Display -> my_custom_display.Plone: ​​affichage par défaut pour le nouveau contenu créé

Le problème apparaît après que j'ai sélectionné l'affichage personnalisé et que j'essaie de créer de nouveaux objets dans le dossier avec cet affichage personnalisé.

Par défaut, tous les nouveaux éléments semblent avoir my_custom_display et ma solution est de le corriger manuellement avec /selectViewTemplate?templateId=folder_listing.

Quelle est la meilleure solution pour ces situations? (Définir un affichage uniquement pour l'élément lui-même pas de nouvel enfant à l'intérieur.)

(Il est ennuyeux parce que mon point de vue du navigateur génère des erreurs si elles sont utilisées à un mauvais endroit. Oui, je peux l'améliorer, mais ...)

Mise à jour: Dans /portal_types/Folder/manage_propertiesForm J'ai ajouté my_custom_display dans les méthodes de vue disponibles. Je n'en ai besoin que pour des dossiers spécifiques.

+0

Est-ce que 'my_custom_display' fonctionne uniquement avec un dossier * spécifique * ou peut-il être appliqué à n'importe quel dossier? – tcurvelo

+0

Question mise à jour. Il peut être appliqué à n'importe quel dossier, mais j'en ai besoin seulement pour le dossier que j'applique, pas pour n'importe quel enfant de celui-ci. – GhitaB

+0

Dans '/ portal_types/Folder/manage_propertiesForm', quelle vue est définie comme' Default view method'? – tcurvelo

Répondre

0

Résolu en forçant le paramètre de configuration sur la création du dossier:

<subscriber 
    for="Products.ATContentTypes.interfaces.IATFolder 
     Products.Archetypes.event.ObjectInitializedEvent" 
    handler="my.package.globalhandlers.set_folder_listing_by_default" /> 

ajouté à configure.cfg. Puis:

def set_folder_listing_by_default(folder, event): 
    """ Set folder_listing as default Display for new created folders. 
    """ 
    folder.setLayout('folder_listing') 

ne semble pas agréable, mais il a résolu mon problème. :)