2012-03-09 76 views
1

我想在一些页面中呈现收集结果。我的理解是,我不能渲染收集文件夹上下文外的页面模板代码,因为它给出属性错误(我使用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" /> 

结果是具有上述代码的集合文件夹中的页面模板。

+1

什么是collection-id?如果这是你收藏的ID,你不能这样做。你可以做一些像python:getattr(context,'collection-id')来获得你的集合对象 – Jihaisse 2012-03-09 13:13:41

+0

你应该把这个作为答案,我会加入它,因为这是更接近我寻找的一步 – WEBBYFOX 2012-03-09 15:43:40

回答

4

只是到您的收藏参考替换context

<tal:block repeat="objectItem context/collection-id/queryCatalog"> 

有什么魔力的queryCatalog方法,但你确实需要调用它集合实例本身,而不是任意上下文。 :-)

+0

+ 1个很好的解释 – 2013-02-24 23:48:29