plone - 限制灵巧文档的内容类型

标签 plone dexterity

我正在做一个网站,里面有很多不同的文件。他们之所以需要它们,是因为他们想执行各种过滤器等等。

由于这是一家非常庞大的公司,具有许多结构,因此它们的内容构成了一个固定的层次结构。

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

使它起作用的唯一成功方法是创建按内容类型的全局可添加折叠式内容类型,该类型仅允许在其中创建所需的内容类型,而没有其他方法。

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

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

我以前在“添加新...”下拉列表中看到“限制内容类型”,这对我而言非常有帮助,因为我喜欢22个容器和22种其他内容类型,而使用“限制内容类型”我只有1个容器和22种内容类型。

有什么办法可以做到敏捷吗?

最佳答案

不是您的敏捷问题的直接答案,而是...

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

我发现文件夹本地权限可以很好地解决此问题。

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

  • 而已。这些内容类型的其余设置正常。使它们全局可添加。权限分配意味着它们只能真正添加​​到您选择的特定文件夹中。

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

    在这种情况下,可以打破仅使用工作流来管理网站根目录下的权限的(非常明智的)规则。由于很容易忘记您去过的地方,因此我会在setuphandlers.py中的代码中设置本地权限,这样就可以清楚地记录受影响的文件夹。

    关于plone - 限制灵巧文档的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766731/

    相关文章:

    plone - 条件取决于其他字段

    plone - 设置以编程方式创建的敏捷项目的字段默认值

    Plone 4 dexterity viewform - 将 css 类添加到字段集 X 中的小部件

    描述字段后的 Plone 敏捷注入(inject)行为字段

    portlet - 是否可以在 Plone 4.1 中使用 Five.grok 来注册 portlet?

    plone - 将标记值存储到 Plone : zope. 注释或 setattr 中的内容的最佳方法是什么

    plone - 使用 Dexterity 将只读 Dublin Core 数据访问委托(delegate)给子对象

    plone - 使用 Dexterity 隐藏描述字段

    plone - 为什么 CheckBoxFieldWidget 没有工厂?

    plone - 禁用未找到页面上的自动建议