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

时间:2011-03-02 04:11:46

标签: collections comments plone content-type

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

具体情况:我最近在Plone 3.3.5安装上安装了plone.app.discussion,现在评论出现在所有集合中。我们希望将它们从集合中删除。

感谢。

3 个答案:

答案 0 :(得分:3)

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

http://your-site/search?portal_type%3Alist=Topic

如果您有很多集合,则可能需要编写一些自定义代码来执行此操作。它不一定是产品或任何严肃的东西,只需运行一些代码即可为现有集合添加“排除评论”标准。我首先看一下http://svn.plone.org/svn/collective/Products.ATContentTypes/branches/1.3/Products/ATContentTypes/tests/test_criteria.py

的第507行

答案 1 :(得分:3)

门户网站类型标准基于plone.app.vocabularyies.ReallyUserFriendlyTypes,一个在http://svn.plone.org/svn/plone/plone.app.vocabularies/trunk/plone/app/vocabularies/types.py中定义的词汇工厂。

如果您通过添加讨论评论来修补BAD_TYPES,则会将它们从集合中排除,但您也会将其隐藏在使用此词汇表工厂的任何位置。据我所知,它们也用于讨论和搜索控制面板。

您可以通过将这些行添加到自定义程序包的__init__.py文件中来修补BAD_TYPES:

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',)

答案 2 :(得分:2)

您可以向集合中添加标准,说明要显示的内容类型。你不能(没有修补/黑客)选择要排除的内容。

I.e集合可以有类型whitelilsts而不是黑名单。