2011-08-06 22 views
4

我正在創建新聞和事件portlet的自定義版本,這些portlet僅顯示來自下游的內容項目,而不是站點範圍內的內容項目。如何查找定義portlet的文件夾?

這個想法是爲我們網站中的某些組創建能夠創建僅顯示下游文件夾層次結構中的項目的新聞和事件portlet。

從本質上講,我換出

portal_state.navigation_root_path()

path='/'.join(context.getPhysicalPath())

在視圖的查詢目錄

我快到的問題是,context.getPhysicalPath ()根據portlet被查看的位置來評估,而不是根據哪個位置e portlet被定義。一旦有人從頂級組文件夾下游導航,他們通常會以空或消失的portlet結束。

如何查找定義portlet的文件夾,以便我可以將它作爲我的上下文傳遞?

+2

這裏有一些提示顯示挖portlet的分配方面:http://collective-docs.readthedocs.org/en/latest/portlets/tips.html #檢查-IF-A-一定的上下文的portlet-是主動-上一個頁面 –

回答

4

我想你想的__portlet_metadata__['key']

(Pdb) self.context.restrictedTraverse(self.__portlet_metadata__['key']) 
<ATFolder at /plone/Members/test_user_1_> 
相關問題