Collections 如何防止内容类型出现在集合中?

Collections 如何防止内容类型出现在集合中?,collections,comments,plone,content-type,Collections,Comments,Plone,Content Type,如何防止特定内容类型出现在Plone 3网站范围内的集合(智能文件夹)中?我在portal_type和types and search控制面板中查找了相关选项(关闭搜索内容类型似乎对集合没有影响) 具体情况:我最近在plone 3.3.5安装上安装了plone.app.discussion,现在所有收藏中都会出现评论。我们想从集合中删除它们 谢谢。如果您没有太多的集合,最简单的解决方案可能是添加排除注释的条件。您可以轻松获得所有收藏的列表: 如果您有很多集合,您可能需要编写一些自定义代码来完成

如何防止特定内容类型出现在Plone 3网站范围内的集合(智能文件夹)中?我在portal_type和types and search控制面板中查找了相关选项(关闭搜索内容类型似乎对集合没有影响)

具体情况:我最近在plone 3.3.5安装上安装了plone.app.discussion,现在所有收藏中都会出现评论。我们想从集合中删除它们


谢谢。

如果您没有太多的集合,最简单的解决方案可能是添加排除注释的条件。您可以轻松获得所有收藏的列表:


如果您有很多集合,您可能需要编写一些自定义代码来完成此操作。它不一定是一个产品或任何严重的东西,只是一些代码,您可以运行它来向现有集合添加“排除注释”条件。我首先看一下门户类型标准的第507行,该标准基于plone.app.vocabularies.ReallyUserFriendlyTypes,一个在中定义的词汇工厂

如果您通过添加讨论注释来修补坏类型,您将从集合中排除它们,但您也将在使用此词汇表工厂的任何地方隐藏它们。据我所知,它们也用于contentrules和搜索控制面板

您可以通过将以下行添加到自定义包的_init__uuu.py文件中来修补坏的u类型:

def initialize(context):
"""Initializer called when used as a Zope 2 product."""
    from plone.app.vocabularies import types
    types.BAD_TYPES = types.BAD_TYPES + ('Discussion Item',)

您可以向集合中添加条件,说明要显示的内容类型。您不能(不进行修补/黑客攻击)选择要排除的内容


即集合可以具有类型whitelilsts而不是黑名单

这实际上可能是一个bug,我相信如果你已经从搜索结果中删除了它们,它不应该出现在集合中。可能有一些很好的理由说明情况并非如此,但我看不出它们为什么应该这样做,因为集合是一个存储的搜索结果。代码更正:BAD_类型是一个列表,而不是元组:TYPES.BAD_类型=TYPES.BAD_类型+['Discussion Item',]