isotope 是一個
jQuery plugin,可以呈現炫麗的網頁畫面。下列是我把範例檔案嵌進 Plone 網站的心得和步驟。
解開 isotope-site.zip 原始檔後,先觀察目錄結構和 index.html 內容:
isotope-site/
├── CONTRIBUTING.mdown
├── README.mdown
├── css
│ └── style.css
├── custom-layout-modes
│ ├── big-graph.html
│ ├── category-rows.html
│ ├── centered-masonry.html
│ ├── masonry-column-shift.html
│ ├── masonry-corner-stamp.html
│ ├── masonry-gutters.html
│ └── spine-align.html
├── demos
│ ├── adding-items.html
│ ├── basic.html
│ ├── combination-filters.html
│ ├── elements-complete.html
│ ├── elements-partial.html
│ ├── filtering.html
│ ├── fluid-responsive.html
│ ├── hash-history.html
│ ├── images.html
│ ├── infinite-scroll.html
│ ├── layout-modes.html
│ ├── relayout.html
│ ├── removing.html
│ └── sorting.html
├── docs
│ ├── adding-items.html
│ ├── animating.html
│ ├── extending-isotope.html
│ ├── filtering.html
│ ├── hash-history-jquery-bbq.html
│ ├── help.html
│ ├── introduction.html
│ ├── layout-modes.html
│ ├── license.html
│ ├── methods.html
│ ├── options.html
│ └── sorting.html
├── index.html
├── jquery.isotope.js
├── jquery.isotope.min.js
├── js
│ ├── fake-element.js
│ ├── jquery-1.7.1.min.js
│ ├── jquery.ba-bbq.min.js
│ ├── jquery.infinitescroll.min.js
│ └── make-big-graph-projects.js
├── pages
│ ├── 2.html
│ ├── 3.html
│ ├── 4.html
│ ├── 5.html
│ └── 6.html
└── tests
├── callbacks.html
├── combo-sort-history.html
├── destroy.html
├── elements-complete-test.html
├── flash.html
├── index.html
├── item-position-data.html
├── jquery-animation.html
├── no-items.html
├── onlayout.html
├── right-to-left.html
├── tiny-text.html
└── unclickable-filtered.html
7 directories, 62 files
首先,把 JavaScript 和 CSS 檔案上傳到 ZMI 的 /portal_skins/custom 目錄,至少有三個檔案:
- jquery-1.7.1.min.js - 這個檔案在原始檔的 js 目錄裡找得到,從 ZMI 下拉選單點選 File 來新增。
- jquery.isotope.min.js - 仿照上述方式上傳。
- style.css - 這個檔案在原始檔的 css 目錄裡找得到,從下拉選單點選 DTML Method 來新增。由於 Plone 原本也有 style.css 同名稱的檔案,為避免衝突,我改用 isotope.css 名稱來上傳。
再到 ZMI 的 portal_css 新增 stylesheet 設定值,在這個例子裡,名稱就是上述新增的 isotope.css 檔案。
接著,要選一個「網頁」位址,來實際展示畫面,實作方法很多種,以根目錄為例,我是在 ZMI 根目錄裡新增一個 Page Template,請留意,這裡的 Id 要指定為 index_html,系統發現目錄裡有這類名稱時,會優先執行它,index_html 內容先複製自 Sunburst main_templage.pt 檔案,可參考
這系列 gist 的第一次版本。
這時候的畫面,很可能會變得清爽,主內容的區塊全部清空了:
我們想把 Plone Demo 字樣換掉,也就是改用新標題。從 ZMI 根目錄點選剛才建立的 index_html 檔案,在 Title 欄位填上 Python Periodic Table 當作新標題:
還要修改一段程式碼才能真的生效,把 <h1> 改成 TAL 敘述式,讀取 template/title 變數值:
重頭戲上場了,要把原始碼 index.html 內容嵌入 Page Template 裡。依序是:
接下來是許多微調的動作,特別是要把檔案路徑、CSS 衝突或不適宜的設定值改掉,例如:
#scontent p {
margin-bottom: 0;
}
如果 poortal-column-content 的 CSS class 改用 width-full 的話,可以擁有全螢幕的顯示效果。