从受限词汇表中标记和搜索Plone内容

从受限词汇表中标记和搜索Plone内容,plone,faceted-search,vocabulary,Plone,Faceted Search,Vocabulary,我想让我的编辑器在几个正交词汇表上标记内容,然后有一个很好的搜索界面,让用户根据这些词汇表搜索内容。 似乎解决方案中存在的部分太多了 ATVocabularyManager-允许编辑器创建不同的词汇表 eea.facetednavigation-允许编辑将VocabularyManager vocabs连接到搜索面板 缺少向某些内容类型的分类选项卡添加新字段并使其受词汇表约束的方法。并对这些值进行存储和索引,以便对其进行搜索 我知道我可以在代码中做到这一点,但我希望有一些TTW,这样编辑可以

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

  • ATVocabularyManager-允许编辑器创建不同的词汇表
  • eea.facetednavigation-允许编辑将VocabularyManager vocabs连接到搜索面板
缺少向某些内容类型的分类选项卡添加新字段并使其受词汇表约束的方法。并对这些值进行存储和索引,以便对其进行搜索

我知道我可以在代码中做到这一点,但我希望有一些TTW,这样编辑可以添加更多的分类方法,如果他们愿意的话。我很确定一定有一个插件已经解决了这个问题,但到目前为止还没有找到它。 我很确定灵巧模式编辑器可以解决这个问题,但我需要为现有的Plone内容类型提供这一点


所以我想知道,我认为你能做的就是让你的内容编辑用常规的标记机制标记内容,然后把它放在他们喜欢的地方。然后,使用eea.facetednavigation,指定希望作为faceted导航一部分的不同标记组

如果您的内容编辑器需要更多的结构来添加标记,我建议您制作一个定制的小部件,让它们可以选择一组结构化的标记

为解决此问题,您可能需要查看以下软件包:


ATVocabularyManager不用于在现有内容类型的新字段中动态添加词汇表,而是用于为自定义内容类型以及SchemaXtender字段提供词汇表管理器。

以下是我打算构建的解决方案,以解决此问题,因为目前为止建议的解决方案都不能解决整个问题

让我们称之为集体。tagvocabularies(?)

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

它将提供一个控制面板,您可以在其中输入正则表达式。此re将用于所有内容上使用的所有关键字,以将其分解为多个方面。例如,如果你所有的标签都是动物鱼的形状,那么你的re应该是蓝色的

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

一旦安装了“颜色”和“动物”词汇表,就可以在任何地方使用,包括eea.facetednavigation。添加到内容中的任何新标记都将自动在词汇表中可用(可能需要缓存)。

是的,可以使用当前的标记机制,使用约定使其具有继承性。e、 g标签如动物:Mamal:Badger颜色:红色等,但我仍然需要eea.facetednavigation将动物:*和颜色:*作为两个独立的面/面板显示给用户。我还没找到。谢谢你的其他链接。我仍在回顾它们,但到目前为止,没有一个安静的解决方案能很好地解决问题。我想如果我有类似collective.gtags的东西,除了-它默认地取代了标准的关键字小部件-它为每个类别创建了一个plone词汇表,这样它们就可以在facetednavigation中使用,那么我认为这将是一个几乎完美的解决方案。所以,我相信将您自己的小部件添加到eea.facetednavigation中有点容易。或者,你可以贡献一个小部件,让你做你想做的方面。我知道有一种产品通过额外的目录做了类似的事情,但我忘记了它的名称。只要有词汇表,那么使用FacetedNavigation就很容易了。我认为最简单的事情是得到一个能从方面创造词汇的东西,比如红色、动物鱼等标签。这些标签会变成两个词汇颜色和动物。