Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将计算出的元数据添加到敏捷对象(plone 4)的目录中_Plone_Zope - Fatal编程技术网

将计算出的元数据添加到敏捷对象(plone 4)的目录中

将计算出的元数据添加到敏捷对象(plone 4)的目录中,plone,zope,Plone,Zope,我想创建一个带有计算字符串的目录元数据。接下来,我开始创建一个索引器: #indexer.py @grok.adapter(条目,name='bind_representation') @索引器(条目) def bindIndexer(上下文): 打印str(IBindRepresentable(上下文)) 返回str(IBindRepresentable(上下文)) 并使用genericSetup注册索引: 问题是:(1)只注册了索引,而没有注册元数据,(2)在重新索引所有zodb之后,

我想创建一个带有计算字符串的目录元数据。接下来,我开始创建一个索引器:

#indexer.py
@grok.adapter(条目,name='bind_representation')
@索引器(条目)
def bindIndexer(上下文):
打印str(IBindRepresentable(上下文))
返回str(IBindRepresentable(上下文))
并使用genericSetup注册索引:


问题是:(1)只注册了索引,而没有注册元数据,(2)在重新索引所有zodb之后,bind_表示仍然找不到任何索引项,即使它们被注册了

引用的示例只处理预先存在的索引,因此我不确定catalog.xml的内容bindIndexer似乎根本不被调用,因为它的print语句从未执行过。我也将bindIndexer复制到entry.py,以确保它没有被忽略,但仍然没有任何内容

我错过了什么


谢谢。

1-要添加新的元数据,必须使用以下语法:


...
2a-如果你正在调整你的内容类,你应该调整你的内容接口(最有可能)

2b-您使用的是a:该索引无论如何都不会显示所有条目(即使在上一点之后),因为它基于词典。您可能应该改为使用它(除非您有特定的边界):


更多信息:


谢谢!注册元数据。关于(2),条目是模式(我的坏,我从所有灵巧模式中选择了I):类条目(form.schema):…我明白了。你确定你的产品经过了适当的包装吗?在发送问题之前,您也可以使用良好的旧zcml注册作为添加的测试()。在configure.zcml中: