2012-03-09 73 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