Plone 限制灵巧文档上的内容类型

Plone 限制灵巧文档上的内容类型,plone,dexterity,Plone,Dexterity,我正在做一个网站,有很多很多不同的文件。他们需要这样做,因为他们想做各种各样的过滤器等等 因为这是一家非常大的公司,有很多结构,他们有一个非常固定的内容层次结构 这样,只有在某些文件夹中,他们才需要某种内容类型 我唯一成功的方法是创建一个每内容类型的全局可添加folderish内容类型,它只允许在其中创建所需的内容类型,而不允许创建其他内容类型 因此,在他们的FTI定义中,我有(关于全局可添加的folderish内容类型): 。。。 ... 我曾经在“添加新…”下拉列表中看到“限制内容类型”,

我正在做一个网站,有很多很多不同的文件。他们需要这样做,因为他们想做各种各样的过滤器等等

因为这是一家非常大的公司,有很多结构,他们有一个非常固定的内容层次结构

这样,只有在某些文件夹中,他们才需要某种内容类型

我唯一成功的方法是创建一个每内容类型的全局可添加folderish内容类型,它只允许在其中创建所需的内容类型,而不允许创建其他内容类型

因此,在他们的FTI定义中,我有(关于全局可添加的folderish内容类型):

。。。
...
我曾经在“添加新…”下拉列表中看到“限制内容类型”,这对我来说非常有用,因为我有22个容器和22种以上的内容类型,而使用“限制内容类型”我只有1个容器和22种内容类型


有什么方法可以在灵巧性上做到这一点吗?

不是对你灵巧性问题的直接回答,但是

只有在某些文件夹中,他们才需要某种内容类型

我发现文件夹本地权限在这方面非常有效

  • 您不需要任何自定义容器类型,只需使用常规文件夹即可
  • 理想情况下,每种项目类型都需要自己的添加权限,例如,分别为项目1和项目2类型的
    ACME:add Thing 1
    ACME:add Thing 2
  • 与其在站点根目录(即在
    rolemap.xml
    中)设置具有权限的角色,不如只在需要它们的文件夹中设置它们
就这样。这些内容类型的其余设置与正常设置相同。使它们全局可添加。权限分配意味着它们实际上只能添加到您选择的特定文件夹中

如果不希望在该文件夹中添加常用类型(页面、链接等),请关闭获取相关添加权限

在这种情况下,可以打破只使用工作流管理站点根目录下权限的(非常合理的)规则。因为很容易忘记您去过哪里,所以我会在我的
setuphandlers.py
中的代码中设置本地权限,以便清楚地记录哪些文件夹受到影响

...
  <property name="allowed_content_types">
    <element value="the.only.desired.contenttype" />
  </property>
...