GhitaB
GhitaB

Reputation: 3437

Plone: default display for new created content

I have a browser view my_custom_display, that can be selected for folders using the menu: Display -> my_custom_display.

The problem appears after I select the custom display and I'm trying to create new objects inside the folder with this custom display.

By default all new items seems to have my_custom_display and my solution is to manually fix it with /selectViewTemplate?templateId=folder_listing.

What is the better solution for this situations? (Set a display only for the item itself not any new child inside it.)

(It's annoying because my browser view generates errors if used in wrong place. Yes, I can improve it, but...)

Update: In /portal_types/Folder/manage_propertiesForm I added my_custom_display in Available view methods. I need it only for specific folders.

Upvotes: 0

Views: 96

Answers (1)

GhitaB
GhitaB

Reputation: 3437

Solved by forcing layout setting on folder creation:

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

added in configure.cfg. Then:

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

Seems not nice, but it solved my issue. :)

Upvotes: 0

Related Questions