【问题标题】:Plone content allowed in specific folder特定文件夹中允许的克隆内容
【发布时间】:2016-05-30 08:27:45
【问题描述】:

我在 Plone 4.3.9 中创建了一个自定义类型灵巧性,称为 PersonalPage,它必须只允许在特定文件夹 Members_folder/userfolder 中使用。 在他的 FTI 中,默认为 <property name="global_allow">False</property>。 在 Plone 4.3.3 中,使用经过身份验证的用户的 uid 在 Members_folder 中创建用户文件夹:

if homefolder is None:
        # create userfolder in members_folder
        members_folder.invokeFactory('Folder', user_id)
        userfolder = members_folder[user_id]
        utils = userfolder.plone_utils
        utils.changeOwnershipOf(userfolder, user_id,
                                        1, None)
        userfolder.setCreators([user_id])
        roles = list(userfolder.get_local_roles_for_userid(user_id))
        if 'Owner' not in roles:
            roles.append('Owner')
            userfolder.manage_setLocalRoles(user_id, roles)

        if shasattr(userfolder, 'canSetConstrainTypes'):
            userfolder.setConstrainTypesMode(1)
            defaultAllowedTypes = userfolder.getLocallyAllowedTypes()
            userfolder.setLocallyAllowedTypes(defaultAllowedTypes + ('personalpage',))    
            defaultAddableTypes = userfolder.getImmediatelyAddableTypes()
            userfolder.setImmediatelyAddableTypes(defaultAddableTypes + ('personalpage',))
        userfolder.reindexObjectSecurity()
        userfolder.reindexObject()

但在运行此脚本后,内容类型 PersonalPage 不会出现在用户文件夹的可添加和允许的内容类型列表中。 这有什么问题?是否有另一种方法可以允许只能为文件夹添加内容类型?

【问题讨论】:

    标签: plone


    【解决方案1】:

    由于 global_allow 标志,该脚本无法运行。

    Plone 有 2 级内容类型添加限制:

    • 第一个是全局设置:如果内容类型不是全局允许的,则在内容类型明确将其列为可能的子类型之前,无法将其添加到任何地方
    • 另一种是 TTW 可添加类型,它只是限制了上面定义的内容集

    如果您需要限制单个文件夹的可添加类型,您可以将您的文件夹定义为一种新的特殊类型,在站点中仅使用一次(因此保持 global_allow 为真,创建一个文件夹,然后禁用它);最后将 PersonalPage 指定为其中的 allowed_types 之一,并将 PersonalPage 的 global_allow 设置保持为 False。

    或者您可以使用collective.factorymenu,通过网络修改Plone添加菜单(尚未发布但正在工作)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2022-08-14
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      • 2021-01-17
      相关资源
      最近更新 更多