我有一个浏览器视图my_custom_display,可以使用菜单为文件夹选择:显示 - > my_custom_display。
选择自定义显示后出现问题,我尝试使用此自定义显示创建文件夹内的新对象。
默认情况下,所有新项目似乎都有my_custom_display,我的解决方案是使用/selectViewTemplate?templateId=folder_listing
手动修复它。
对于这种情况,更好的解决方案是什么? (仅为项目本身设置显示,而不是为其中的任何新子项设置。)
(这很烦人,因为如果在错误的地方使用我的浏览器视图会产生错误。是的,我可以改进它,但是......)
更新:
在/portal_types/Folder/manage_propertiesForm
中,我在可用的视图方法中添加了my_custom_display。我只需要特定的文件夹。
答案 0 :(得分:0)
通过在文件夹创建时强制布局设置解决:
<subscriber
for="Products.ATContentTypes.interfaces.IATFolder
Products.Archetypes.event.ObjectInitializedEvent"
handler="my.package.globalhandlers.set_folder_listing_by_default" />
在configure.cfg
中添加。
然后:
def set_folder_listing_by_default(folder, event):
""" Set folder_listing as default Display for new created folders.
"""
folder.setLayout('folder_listing')
似乎不太好,但它解决了我的问题。 :)