限制dexterity文档中的内容类型

时间:2011-10-14 11:07:10

标签: plone dexterity

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

由于它是一家拥有大量结构的大公司,因此它们具有真正的内容层次结构。

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

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

因此,在他们的FTI定义中,我(在全局可添加的文件夹内容类型上):

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

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

Dexterity有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

不能直接回答你的敏捷问题,但是......

  

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

我发现文件夹本地权限对此非常有效。

  • 您不需要任何自定义容器类型 - 只需使用常规文件夹。
  • 理想情况下,每种商品类型都需要自己的添加权限,例如分别针对Thing 1和Thing 2类型ACME: Add Thing 1ACME: Add Thing 2
  • 不是设置在站点根目录(即rolemap.xml)拥有权限的角色,而只是在需要它们的文件夹中设置它们。

就是这样。这些内容类型的其余设置正常。让它们全球可添加。权限分配意味着它们只能在您选择的特定文件夹中添加。

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

这是一种可以打破仅使用工作流来管理站点根目录下的权限的(非常明智的)规则的情况。由于很容易忘记你去过的地方,我会在setuphandlers.py的代码中设置本地权限,以便明确记录哪些文件夹受到影响。