sách gpt4 ai đã đi

特定文件夹中允许的 Plone 内容

In lại 作者:行者123 更新时间:2023-12-01 00:41:21 36 4
mua khóa gpt4 Nike

我在 Plone 4.3.9 中创建了一个自定义类型的灵巧性,称为 PersonalPage,必须只允许在特定文件夹中使用 成员文件夹/用户文件夹 .
在他的 FTI 中,默认情况下 False .
在 Plone 4.3.3 中,用户文件夹是在 Members_folder 中使用经过身份验证的用户的 uid 创建的:

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 不会出现在用户文件夹的可添加和允许的内容类型列表中。
这有什么问题?是否有另一种方法允许仅对文件夹添加内容类型?

1 Câu trả lời

由于 global_allow 标志,脚本不起作用。

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

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

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

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

    关于特定文件夹中允许的 Plone 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520992/

    36 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com