0
A
回答
0
您也可以在文件夾中創建一個鏈接,將目標設置爲'./idOfPage1'並將該鏈接設置爲文件夾的默認視圖。
沒有編輯權限的用戶將被重定向到Page1,然後頁面本身將顯示在導航欄中。
1
導航樹使用INavigationQueryBuilder
部件找到示出的所有元件。默認實現會過濾掉任何用作默認頁面的內容。
您必須提供您自己的實施;但您可以重新使用原始實現。你所要做的只是改變生成的查詢,通常,如果不存在更具體的查詢,則使用is_default_page
索引來過濾默認頁面。但是,如果您的已更改查詢添加了該索引的搜索,則它不會嘗試添加更具體的過濾器。將其設置爲搜索(True, False)
意味着它將返回默認頁面和非默認頁面,從而有效地中和過濾器。
執行就變成了:
from plone.app.portlets.portlets.navigation import QueryBuilder, INavigationPortlet
from zope.component import adapts
from zope.interface import implements, Interface
class INonDefaultPageFilteringNavigationPortlet(INavigationPortlet):
pass
class DontFilterDefaultQueryBuilder(QueryBuilder):
implements(INavigationQueryBuilder)
adapts(Interface, INavigationPortlet)
def __init__(self, context, portlet):
super(DontFilterDefaultQueryBuilder, self).__init__(context, portlet)
self.query['is_default_page'] = (True, False) # Don't filter out default pages
你必須註冊這個作爲一個適配器,和添加INonDefaultPageFilteringNavigationPortlet
到您的portlet '激活' 這建設者:
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five">
<adapter factory=".yourmodule.DontFilterDefaultQueryBuilder" />
<five:implements
class="plone.app.portlets.portlets.navigation.Assignment"
interface=".yourmodule.INonDefaultPageFilteringNavigationPortlet" />
</configure>
所有與警告,這是未經測試的,但它應該工作。
+0
謝謝,它幫了很多! – R063R
相關問題
- 1. 如何從默認的Plone導航樹中排除圖像
- 2. beautifulsoup導航樹
- 3. thecartpress導航樹
- 4. Java中的對象樹導航語言
- 5. 樹導航顯示文件夾結構
- 6. Plone - 如何使用分面導航?
- 7. 導航Python中的HTML樹
- 8. Plone 4導航Portlet,只顯示在非缺陷兒童中
- 9. 嵌套列表樹導航
- 10. 導航NLTK樹(後續)
- 11. WP樹狀列表導航
- 12. 用樹視圖導航sharepoint
- 13. Ajax網址樹導航
- 14. Java spring ldap導航到樹
- 15. 榆樹反應堆導航
- 16. MySQL的/ PHP的樹導航菜單
- 17. 導航WPF中的可視化樹
- 18. 美麗的湯樹後退導航
- 19. 得到錯誤而jQuery的導航樹
- 20. 導航對象
- 21. 在iOS中,導航顯示導航
- 22. 陣營導航顯示導航歷史
- 23. 隱藏導航條,顯示導航欄
- 24. Plone導航,每個文件夾一個語言的網站
- 25. 無法在Plone 4的導航portlet中安排項目順序
- 26. 如何在主頁上隱藏Plone中的導航菜單
- 27. 顯示:阻止導航對齊
- 28. 引導導航欄顯示
- 29. 保持樹形的SelectedNodeStyle而在母版導航樹形
- 30. Plone的:對保存
非常棘手,但有效! – R063R