我正在尝试在某些页面中呈现收集结果。我理解的是我无法在集合文件夹上下文之外呈现页面模板代码,因为它给出了属性错误(我确实使用了context.collection-id.getCatalog())。任何想法或指针都很有用。
results.pt
<tal:block repeat="objectItem python:context.queryCatalog()" >
<a tal:attributes="href objectItem/getURL" ><tal:title content="objectItem/Title" /> </a><br/>
<tal:block tal:define="obj objectItem/getObject;" >
<tal:block content="structure obj/text/output" />
</tal:block>
但是
如果我在收集文件夹上下文之外执行类似下面的操作,那么它的工作正常。
<tal:block tal:content="structure context/collection-id/results" />
结果是具有上述代码的集合文件夹内的页面模板。
答案 0 :(得分:4)
只需将context
替换为对您的收藏的引用:
<tal:block repeat="objectItem context/collection-id/queryCatalog">
queryCatalog方法没有什么神奇之处,但您确实需要在Collection实例本身上调用它,而不是在任意上下文中调用它。 : - )