2010/04/13

Changing Tabs with Viewlet

在 Plone 的 Navigation Settings 裡,利用 automatically generate tabs 的設定,可以在 portal-globalnav 區域自動產生根目錄的 tab 項目,如果只想限定目錄自動產生為 tab 項目,那就把 Generate tabs for items other than folders 取消勾選,如果某個自動產生的目錄 tab 項目,不希望它出現在 portal-globalnav 區域,除了取消自動產生 tab 項目的方式外,還可以動手修改 viewlet 來達成。

上述的 portal-globalnav 名稱,是從 CSS 角度來稱呼它,用 firebug 查得到它在 CSS 檔案的位置,如果是從 viewlet 角度來稱呼它,它的名稱是 global_sections。

http://lh4.ggpht.com/_BESgcgeL9eA/S8QE_SICNpI/AAAAAAAACCE/deyF4e5CmIA/s400/portal-globalnav_firebug.png

例如根目錄有個名稱為 tmp 的目錄,不希望它出現在 portal-globalnav 區域,到 portal_view_customizations 裡的 plone.global_sections 加個 tal:condition 就行:
<ul id="portal-globalnav">
<tal:tabs tal:repeat="tab view/portal_tabs">
<li tal:attributes="
id string:portaltab-${tab/id};
class python:view.selected_portal_tab==tab['id']
and 'selected' or 'plain'">
<a href=""
tal:condition="python: tab['id'] != 'tmp'"
tal:content="tab/name"
tal:attributes="href tab/url;
title tab/description|nothing;">
Tab Name
</a></li></tal:tabs>
</ul>
想要知道有哪些 viewlet 以及它們的位置,可使用 http://localhost:8080/Plone/@@manage-viewlets 之類的網址來查詢。

No comments: