操作(Actions)
在Plone站點中,我們可以通過頁首标簽、内容标簽、個人工具欄中的連結等形式,執行各種操作(Action)。這些操作是在幾個Plone内置工具(Tool)中定義的,如 portal_actions ,是以這些工具又統稱為 Actions Providers 。我們可通過ZMI,重新設定Action屬性,如修改操作的權限、标題等。
Action基本屬性
進入Plone ZMI,點選 portal_actions (如圖)。
可以看到每個action都有如下幾個屬性:
- Name(名稱)
- Action的名稱,通常會直接顯示在界面上,如頁首标簽的顯示文字等。 Id(編号)
- 是所屬的Action Provider中的唯一辨別。 Action(操作)
- 規定了Action的執行内容,如連結、一段程式腳本等。最常用就是連結了,如頁首标簽所對應的操作。連結的一般寫法是:
string: $portal_url/your_link_address
其中$portal_url代表了Plone站點url,我們一般修改your_link_address部分,指向站點内某個内容就可以了。
這個欄目的内容需要符合tal表達式定義,可閱讀 使用Zope頁面模闆 簡單表達式 一節 了解詳細内容。
Condition(條件) - 規定了Action顯示的限制條件,如果條件不滿足,這個action将不在界面中顯示。該欄目同樣要求符合tal表達式定義。 Permission(權限)
- 規定了允許該操作的使用者權限,對那些不具有該權限的使用者,這個action将不在界面中顯示。 Category(類型)
- 對action進行分類,不同的分類決定了action在界面中的顯示位置,一般常用的有:
-
portal_tabs:
action将顯示在頁首标簽位置,Action Provider是portal_actions。Plone預設已經包括了Welcome、Members、News等幾個頁首标簽action。
-
user:
action将顯示在個人工具欄,其Action Provider一般有portal_membership、portal_registration。如登入、注冊、我的檔案夾等action,都屬于這個類别。
Visible(是否可見) -
- 決定該action是否可見。不選中Visible複選框,是屏蔽一個action的最簡單的方式。
如何定制頁首标簽
學習了解action的基本概念後,讓我們嘗試對Plone網站進行基本的定制修改。這裡介紹如何為Plone網站增加一個頁首标簽,這是非常常見的一種定制。
假如我們需要為網站增加一個顯示為 文檔 的頁首标簽,所有網站使用者都可以通過這個标簽檢視 documentation 檔案夾的内容。操作步驟如下:
- 在Plone網站界面内,在根目錄下建立一個id為 documentation 的檔案夾;
- 進入ZMI,打開Plone站點根目錄下的 portal_actions
- 滾動頁面到底部,在表單中填寫如下内容:
- Name: 文檔
- Id: documentation
- Action: string:$portal_url/documentation ,我們已經知道,這代表連結到Plone站點内的 documentation 檔案夾
- Condition: 保持空白
- Permission: View
- Category: portal_tabs
- Visible: 選中
- 點選 Add 按鈕
此時,就完成了添加 文檔 頁首标簽的工作。
Action Providers
在Plone系統中,action定義分别屬于不同的Action Providers,在 'portal_actions' 的 'Action Providers' 标簽頁中,可以看到相關Providers清單。
- Portal Membership Tool (portal_membership)
- 包含了與一個系統成員使用者相關的action操作,如 我的檔案夾 、 個人設定 等,大部分action的顯示由使用者登入與否決定,其分類一般都屬于 user 類型。 Portal actions (portal_actions)
- 包含了不屬于其它action providers的所有action操作定義, 大部分屬于 portal_tabs 類型。 Portal Registration (portal_registration)
- 包含了與使用者注冊相關的action操作定義,預設情況下,隻包含 join(注冊) 一個action定義。 Portal Discussion (portal_discussion)
- 包含了與讨論評注相關的action操作定義,預設情況下,隻包含 reply(回複) 一個action定義。 Portal Undo (portal_undo)
- 包含了撤銷操作相關的action操作定義,如 undo 與 ** quick undo ** ,這些action可友善使用者恢複以前版本的文檔内容。 Portal Syndication (portal_syndication)
- 包含了與syndication相關的action操作 ...... Portal Workflow (portal_workflow)
- 包含了控制工作流(workflow)狀态變遷的action操作定義,如狀态設定界面中 送出 、 釋出 等操作。 Portal Setup (portal_properties)
- 包含了設定Plone站點屬性相關的action操作。