記錄幾個客製 Plone 首頁畫面的技巧。
以 blog style 的首頁為例,新增一個 collection 把 blog 搜尋出來,再於首頁指定顯示這個 collection 即可。想要同時顯示多個 collection 的話,方法之一是尋求擴充模組的支援,像 ContentWellPortlets 就是一個例子。試用 PortletPage 後,覺得是較合用的選項,它可以把 portlet 新增在上下左右共四個區位。
如果想要修改首頁的顯示方式,可以參考 Create a different look and feel for different sections of your web site 這篇文件,利用 sectional CSS 方式來完成。下面的例子,就是把首頁的 heading 和 byline 都取消顯示。
在 portal_skins/custom 裡新增一個 DTML Method 將 Id 設為 sections.css 後,使用下列範例程式碼:
/* <dtml-with base_properties> (do not remove this :) */
/* <dtml-call "REQUEST.set('portal_url', portal_url())"> (not this either :) */
.section-front-page
.documentFirstHeading {
display: none;
}
.documentByLine {
display: none;
}
/* </dtml-with> */
到 portal_css 裡新增一個 stylesheet 填寫 ID 為 sections.css 其他都使用預設值。必要的話,可以設定 Plone 在 debug mode 執行,並勾選 portal_css 的 Debug/development mode 讓修改結果馬上生效。
還有許多修改技巧,可以在 Plone 3 Theming 這本書裡看到。
另外,使用 Plone 3.3.1 的朋友,可能會發現 collection 設定 criteria 時的錯誤,請參考 Impossible to add a criteria in a collection in 3.3.1 的修訂方法,先處理掉這個問題。
2009/11/05
2009/10/19
Content Type Workflow Configuration

workflow 是一種 state machine,在 Plone 系統的脈絡裡,就是指 content type 生命週期裡的可能狀態。Plone 預設提供完整的 (role-based) workflow 和 content rule 功能,是開放源碼 CMS 裡少數具備這項特色的產品,藉由 workflow 和 content rule 的支援,我們可以針對 content type 或目錄各別指定工作流程或自動化程序。

進入 ZMI 的 portal_workflow 可以從 Contents 頁籤查看既有的工作流程項目,除了預設啟用的 simple_publication_workflow 之外,還有 one_state_workflow 和 intranet_workflow 等。

舉例來說,想讓新建的文件馬上對外公開,可採用 one_state_workflow 設定值,因為它只有 public 一種狀態。
在 Workflows 頁籤可看到預設 (Default) 的指定值,和 type 與 workflow 的指定列表。

舉例來說,想要把 News Item 設定成 one_state_workflow 工作流程,就把 (Default) 改為 one_state_workflow 按 Change 鈕,再按 Update security settings 確認更新的動作。
2009/10/14
Embed Gmap HTML Code in Plone
想在 Plone 預設的 kupu editor 裡嵌入 Gmap HTML 內容,先到 Site Setup 裡 HTML Filter 項目。

設定內容的下方 Custom tags 新增 iframe 並儲存。
從 Google Map 找到的地圖,左上方選項 Link 裡的 Paste HTML to embed in website 複製內容,嵌入到自己想要的內容位置。
另外像 flickr, youtube 的內容嵌入原理類似。
設定內容的下方 Custom tags 新增 iframe 並儲存。
從 Google Map 找到的地圖,左上方選項 Link 裡的 Paste HTML to embed in website 複製內容,嵌入到自己想要的內容位置。
另外像 flickr, youtube 的內容嵌入原理類似。
2009/10/07
Plone Navigation Tree Tips
Plone 的 portlet 包括 navigation (稱為導覽) 的項目,預設會指示正在閱讀的文件位置,如果想要控制位置顯示的細節,文件 How to hide an item from the navigation tree even it is the current item 介紹 Plone 2.5 環境的技巧,想在 Plone 3.x 環境完成類似的效果,方法很多種,文件 How to really exclude from navigation 裡有介紹範例。
2009/10/03
Plone Developer Manual
之前要讀 Plone 技術文件,會從 Plone Core Developer Reference 或 Archetypes Developer 找起,現在多了一篇 Plone Developer Manual。這份新手冊的目標,就是要統整並取代舊有散落各處的文件。
目前還是草稿階段,最早是由 Mikko Ohtamaa 帶頭發起,並讓社群協力維護。
我最關心 Sessions and cookies 的章節,它應該可以處理 PlonePAS 整合 PHP 應用軟體的議題,而且還得繼續學習 HTTP 資料傳輸的底層原理。
目前還是草稿階段,最早是由 Mikko Ohtamaa 帶頭發起,並讓社群協力維護。
我最關心 Sessions and cookies 的章節,它應該可以處理 PlonePAS 整合 PHP 應用軟體的議題,而且還得繼續學習 HTTP 資料傳輸的底層原理。
2009/09/24
Changing Tabs in Plone
在 Plone Site 根目錄 (root folder) 所建立的項目,例如 (id = about, title = 認識協會) 目錄,它會自動以 tab 型式出現,就像下圖裡的 1。 ![http://www.contentmanagementsoftware.info/plone-book/navigation/plone-site.png]()
讀取各別文章時,會有 You are here: 的提示,如圖裡的 2。左方可以有 navigation portlet 導覽視框,如圖裡的 3。
我們也可以讓新增的項目,不要"自動"出現在 tab 位置,方法是從 Site Setup 點選 Navigation Setting 導覽設定,取消"自動產生"的設定值。
完成上述的設定調整後,除了"首頁"之外,其他 tab 都不會自動出現。
接著,想再把"認識協會"加回 tab 位置,先進入 ZMI 到 portal_actions/portal_tabs 畫面,從右上方選 CMF Action 來新增。
ID 欄位填 about。

再點選 about 進去填其他詳細資料,注意到 Permissions 欄位選擇 View,而且 Visual? 要勾選生效。

至此,我們在 portal_tabs 裡有兩個 CMF Action,分別是 index_html 和 about,還可以用 Up / Down 或 Top / Bottom 來控制順序。

想要讓某個 tab 未登入前看不見,登入後才看得到,要在 Condition 欄位裡填 python: member,想要讓某個 tab 只有管理員才看得到,要在 Condition 欄位裡填 python:portal.portal_membership.getAuthenticatedMember().has_role('Manager')
。
以上說明參考自 http://plone.org/documentation/how-to/changing-tabs
讀取各別文章時,會有 You are here: 的提示,如圖裡的 2。左方可以有 navigation portlet 導覽視框,如圖裡的 3。
我們也可以讓新增的項目,不要"自動"出現在 tab 位置,方法是從 Site Setup 點選 Navigation Setting 導覽設定,取消"自動產生"的設定值。
完成上述的設定調整後,除了"首頁"之外,其他 tab 都不會自動出現。
接著,想再把"認識協會"加回 tab 位置,先進入 ZMI 到 portal_actions/portal_tabs 畫面,從右上方選 CMF Action 來新增。
ID 欄位填 about。
再點選 about 進去填其他詳細資料,注意到 Permissions 欄位選擇 View,而且 Visual? 要勾選生效。
至此,我們在 portal_tabs 裡有兩個 CMF Action,分別是 index_html 和 about,還可以用 Up / Down 或 Top / Bottom 來控制順序。
想要讓某個 tab 未登入前看不見,登入後才看得到,要在 Condition 欄位裡填 python: member,想要讓某個 tab 只有管理員才看得到,要在 Condition 欄位裡填 python:portal.portal_membership.getAuthenticatedMember().has_role('Manager')
。
以上說明參考自 http://plone.org/documentation/how-to/changing-tabs
2009/09/11
CMS Showdown for NPO
CMS Showdown for NPO 是個網站改造的觀摩賽,構想仿自「全能住宅改造王」,由 charlesc 開頭籌辦,招募 NPO 團體報名,訪談 NPO 的需求,最後由 Joomla, Drupal, Plone 組隊實作,並在 ICOS 2009 裡舉行。
其中的 Plone 隊伍來自日本 CMS Communications Inc. 成員,隊員介紹如下:

* 寺田學 (Manabu Terada)
o CMS Communications Inc. 總經理,過往十年工作領域在電子工程及系統工程,五年的 Zope/Plone 開發經驗,是日本 Zope/Plone 社群主要成員。現居千葉縣。
o Twitter: http://twitter.com/Terapyon
o Plone site show case (2009): http://www.osaka-u.ac.jp/ http://www.asean.or.jp/

* 永井孝 (Takashi Nagai)
o CMS Communications Inc. 首席工程師,開發 Zope/Plone 及 Google App Engine 應用程式,亦研究遠距學習系統。
o Website: http://ngi644.net/blog/

* 足立健誌 (Takeshi Adachi)
o Scient UX Inc. 設計師及網站顧問,大學畢業後到美國洛杉磯學習平面設計,2002年回到日本大阪任職網站設計工作,五年的網站設計經驗,專長是使用者操作經驗的改善。興趣是吉他、貓、電影。
o Blog: http://www.thinkcreative.jp/blog/
o Google Profile: http://www.google.com/profiles/takeshi.adachi

* 宮本加奈子 (Kanako Miyamoto)
o 自由工作者,專長是 (X)HTML/CSS 程式設計。興趣是吹奏薩克斯風。
o Website: http://balanced.jp/
o Twitter: http://twitter.com/ayaxx

* 渡邊あや (Aya Watanabe)
o 自由工作者,日本網站設計社群 WebSig24/7 主要成員,專長是視覺設計,HTML 及 FLASH 程式設計。
o Website: http://balanced.jp/
o Twitter: http://twitter.com/ayaxx
其中的 Plone 隊伍來自日本 CMS Communications Inc. 成員,隊員介紹如下:
* 寺田學 (Manabu Terada)
o CMS Communications Inc. 總經理,過往十年工作領域在電子工程及系統工程,五年的 Zope/Plone 開發經驗,是日本 Zope/Plone 社群主要成員。現居千葉縣。
o Twitter: http://twitter.com/Terapyon
o Plone site show case (2009): http://www.osaka-u.ac.jp/ http://www.asean.or.jp/
* 永井孝 (Takashi Nagai)
o CMS Communications Inc. 首席工程師,開發 Zope/Plone 及 Google App Engine 應用程式,亦研究遠距學習系統。
o Website: http://ngi644.net/blog/
* 足立健誌 (Takeshi Adachi)
o Scient UX Inc. 設計師及網站顧問,大學畢業後到美國洛杉磯學習平面設計,2002年回到日本大阪任職網站設計工作,五年的網站設計經驗,專長是使用者操作經驗的改善。興趣是吉他、貓、電影。
o Blog: http://www.thinkcreative.jp/blog/
o Google Profile: http://www.google.com/profiles/takeshi.adachi
* 宮本加奈子 (Kanako Miyamoto)
o 自由工作者,專長是 (X)HTML/CSS 程式設計。興趣是吹奏薩克斯風。
o Website: http://balanced.jp/
o Twitter: http://twitter.com/ayaxx
* 渡邊あや (Aya Watanabe)
o 自由工作者,日本網站設計社群 WebSig24/7 主要成員,專長是視覺設計,HTML 及 FLASH 程式設計。
o Website: http://balanced.jp/
o Twitter: http://twitter.com/ayaxx
Subscribe to:
Posts (Atom)