从约束词汇表中标记和搜索Plone内容

时间:2011-10-27 22:19:18

标签: plone faceted-search vocabulary

我想让我的编辑在几个正交词汇表上标记内容,然后有一个很好的搜索界面,让用户可以根据这些词汇表搜索内容。 似乎解决方案的部分存在

  • ATVocabularyManager - 让编辑者创建不同的词汇表
  • eea.facetednavigation - 让编辑将ATVocabularyManger词汇连接到搜索面板

缺少一种方法,可以将新字段添加到某些内容类型的catagorisation选项卡中,并使这些字段受到词汇表的约束。并存储和索引这些值,以便搜索它们。

我知道我可以在代码中执行此操作,但我希望有一些TTW,因此编辑可以添加更多方法进行分类,如果他们想要的话。我很确定必须有一个插件来解决这个问题,但到目前为止还没有找到它。 我很确定灵巧模式编辑器可以解决这个问题,但我需要现有的Plone内容类型。

非常想知道

2 个答案:

答案 0 :(得分:4)

我认为您可以做的就是让您的内容编辑者使用常规标记机制标记内容并将其放在他们喜欢的位置。然后,使用eea.facetednavigation,您可以指定要在分面导航中使用的不同标记组。

如果您需要更多内容编辑器的结构来添加标签,我建议您制作一个自定义小部件,为其提供一组结构化标签供您选择。

您可能希望查看解决此问题的一些软件包:

ATVocabularyManager不是为现有内容类型的新字段动态添加词汇表,而是为自定义内容类型和schemaextender字段提供词汇表管理器。

答案 1 :(得分:2)

以下是我打算构建的解决此问题的方法,因为到目前为止,所有建议的解决方案都没有解决整个问题。

我们称之为collective.tagvocabularyies(?)

目标是允许通过现有的标签元数据字段将多个不同类别的关键字输入到现有的Plone内容中,然后能够使用像FacetedNavigation这样的插件来显示内容,就像内容被多个不同的方面分类一样。它将通过动态提供许多不同的词汇表来实现这一点,这些词汇表基于Plone中关键字索引的唯一值。

它将提供一个控制面板,您可以在其中输入正则表达式。此重新将用于所有内容上使用的所有关键字,以将其分解为方面。例如,如果您的所有标签都是Animal-Fish,Color-Blue形式,那么

(?P<facet>[^\S]*)-(?P<value>[^\S]*)

安装完成后,“Color”和“Animal”的词汇表可以在任何地方使用,包括eea.facetednavigation。添加到内容中的任何新标记都将自动在词汇表中提供(可能需要缓存)。