在 2011-01-10 的時候 Joomla 推出了最新的 1.6 版,因此我也灌起來玩了一下,過程中發現由於 RHEL 5.3 (Tikanga) 內建的 PHP (5.1.6) 太老舊了,Joomla 1.6 的需求是 5.2.4 以上,因此必須要升級 PHP,也利用這個機會一併把內建的老舊 Apache HTTP Server (2.2.3) 升級 (最新版:2.2.17),以下就是升級過程中的注意事項。
安裝的過程基本上很簡單,主要參考 PHP 官網上的 online documentation -> 在 View Online 的地方選 English -> Installation on Unix systems -> Apache 2.x on Unix systems 上的步驟照做即可,重點在於步驟 5「Now, configure and build PHP」,在這個 configure 範例中只有使用最基本的「--with-mysql」來加入 MySQL 的支援,但這樣對 Joomla 的安裝來說是不夠的。
在 Joomla 的安裝過程中,會確認 PHP 有 Zlib compression 支援,否則 Joomla 會無法順利安裝。按照官網上的 configure 方式是不包含 Zlib compression 支援的,必須要在 configure 的 option 裡面加上「--with-zlib」才行,也就是:「./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib」。
那麼萬一像我一樣在 configure & make install PHP 之後,開始安裝 Joomla 時才在 check system requirement 的時候發現 PHP 缺少 Zlib compression 支援的話要怎麼辦呢?沒關係,這時候就要靠上一次執行 configure 時自動產生的 config.nice 檔了,config.nice 檔案會記錄上一次執行 configure 所使用的 options,只要編輯這個檔案,以相同的格式加入「--with-zlib」這個 option,然後執行「./config.nice」,最後再重新 make、make install 來重新安裝 PHP 就可以囉(安裝到相同的目錄,把剛剛安裝的版本蓋掉即可)!
加入「--with-zlib」的 config.nice 內容如下:
以第二次根據 config.nice 產生的 Make file 來執行 make 的時候,只會重新編譯新增的部份,因此速度很快。有了 config.nice 千萬要好好利用,不要傻傻的重新執行 configure,這樣會浪費很多時間阿!
基本上要注意的地方就只有這裡,其他的步驟都按照官網上的範例來做就可以了。Joomla 的安裝也很簡單,基本上就是先檢查執行環境是否符合最低需求,而後把 Joomla 網站複製到指定的目錄,最後產生 configuration.php 的內容就可以運作了。
可惜的是目前 Fabrik 套件的最新版 - 2.0.3 還不支援 Joomla 1.6,一整個就是裝不上去阿,只好過一陣子再測試囉!
另外順便補充IT黑傑克前陣子寫的 Joomla & Drupal 比較文:
2011年1月30日
2010年5月19日
利用 Joomla 做資產管理 (Asset Management) -4 : Fabrik 套件使用小技巧 & Joomla 客製化
在前面的文章中已經介紹完 Joomla & Fabrik 套件的安裝以及使用方式,接下來整理的是我使用 Fabrik 套件過程中發現的小技巧,以及如何客製化 Joomla。
[無痛解法] Fabrik drop down 欄位的搜尋問題
開始使用 Fabrik 套件的時候發現一個問題,若把 Form 中的 Element 設定為 drop down,在輸入資料時固然方便,但是要過濾資料時會遇到一個問題:沒有「All」這個過濾條件!以下圖為例,當我想要利用「IP」來找某台主機的資料,此時「服務類別使用狀態」條件的第一個值會生效,也就是說兩個條件都必須符合 (邏輯 AND) 才能正確找到所要的資料。這是很不方便的,因為我也沒辦法記住每台主機的「服務類別使用狀態」是什麼,若「服務類別使用狀態」的值沒有設定對,就算 IP 打對還是找不到資料。若把 Element 設定為 field,過濾條件中的預設值就是「All」,也就是沒有作用,就不會遇到這個問題了!
經過測試,發現一個最簡單的解法,也就是在新增資料時將 Element type 設定為「drop down」,以減少資料輸入錯誤的可能;等到資料輸入完畢後,再把 Element type 改回「field」,如此在過濾條件中該欄位的下拉式選單就會出現「All」的選項。這樣做的話,就不用擔心將 drop down 改為 field 之後,drop down 的選項會消失,所有的設定資料(drop down 的 text & value) 都會保留在 DB 裡面,未來要再輸入資料時,只要將 Element type 改回 drop down 即可繼續使用。
如何批次匯入資料至 Fabrik Table
經過實驗以後,整理出以下幾種批次匯入資料的方法的優劣比較:
最後還是決定用 phpMyAdmin 的介面來執行批次匯入/匯出。
(匯出資料的注意事項可參考:phpMyAdmin 匯出中文資料成 utf-8 編碼的 .csv 格式之注意事項)
從 phpMyAdmin 管理後台批次匯入資料:
步驟一:先準備好要匯入的原始資料:
步驟二:調整原始資料,要注意:
Excel 預設編碼方式為 ANSI,檔案只要用 Excel 編輯過,編碼就會被改成 ANSI,要再以記事本開啟另存為 UTF-8 編碼
(以 Notepad++ 編輯則不會更改原本的檔案編碼)
phpMyAdmin 介面的設定參考下圖:
利用 CSV 批次匯入資料:
步驟一:一樣先準備好要匯入的原始資料:
步驟二:調整原始資料,要注意:
Excel 預設編碼方式為 ANSI,檔案只要用 Excel 編輯過,編碼就會被改成 ANSI,要再以記事本開啟另存為 UTF-8 編碼
(以 Notepad++ 編輯則不會更改原本的檔案編碼)

步驟三:從 Fabrik Table 的介面中,點選「Import from CSV」功能
設定參考下圖:
Fabrik 擴充套件的程式架構
由於 Joomla 採用 Model-View-Controller (MVC) 架構,Fabrik 套件也是以 MVC 架構來開發,因此程式架構很好理解,也很容易猜測如何修改。接下來記錄我小小調整 Fabrik 套件的 PHP 程式碼的作法,包括:
修改 Fabrik 套件存檔時的 time_date 欄位,以儲存資料異動當下的完整時間
getDateTime() 函式的內容:
留下資料異動記錄 (Insert、Delete、Update)
經過測試,批次匯入資料時也會留下每一筆資料的異動記錄。
getUserName() 函式的內容:
logDBOperation($SQL) 函式的內容:
設定 MySQL 排程定期備份
參考資料:MySQL備份 shell script
在正式環境上最好是用 clean installation 比較保險,並且把網站名稱和 DB 名稱都設定成與測試環境相同,再用 phpMyAdmin 把資料匯出成 insert SQL,以免忘記修改到 DB 中的設定造成網站運作的異常。
其他待解問題
本系列其他文章:
[無痛解法] Fabrik drop down 欄位的搜尋問題
開始使用 Fabrik 套件的時候發現一個問題,若把 Form 中的 Element 設定為 drop down,在輸入資料時固然方便,但是要過濾資料時會遇到一個問題:沒有「All」這個過濾條件!以下圖為例,當我想要利用「IP」來找某台主機的資料,此時「服務類別使用狀態」條件的第一個值會生效,也就是說兩個條件都必須符合 (邏輯 AND) 才能正確找到所要的資料。這是很不方便的,因為我也沒辦法記住每台主機的「服務類別使用狀態」是什麼,若「服務類別使用狀態」的值沒有設定對,就算 IP 打對還是找不到資料。若把 Element 設定為 field,過濾條件中的預設值就是「All」,也就是沒有作用,就不會遇到這個問題了!
經過測試,發現一個最簡單的解法,也就是在新增資料時將 Element type 設定為「drop down」,以減少資料輸入錯誤的可能;等到資料輸入完畢後,再把 Element type 改回「field」,如此在過濾條件中該欄位的下拉式選單就會出現「All」的選項。這樣做的話,就不用擔心將 drop down 改為 field 之後,drop down 的選項會消失,所有的設定資料(drop down 的 text & value) 都會保留在 DB 裡面,未來要再輸入資料時,只要將 Element type 改回 drop down 即可繼續使用。
如何批次匯入資料至 Fabrik Table
經過實驗以後,整理出以下幾種批次匯入資料的方法的優劣比較:
利用 Joomla / Fabrik 來匯入 | 在 phpMyAdmin 介面匯入 | |
操作介面 | Joomla 網站 | phpMyAdmin 網站 |
支援檔案格式 | CSV (需要保留欄位名稱列) | CSV (不可保留欄位名稱列) |
支援編碼 | UTF-8 | UTF-8 |
中文亂碼問題 | 難處理 (匯入後要手動調整, e.g., 101—>分機101) | 沒問題 |
其他 | fabrik_internal_id 和 time_date 欄位可空白 | fabrik_internal_id 可空白time_date 欄位要有資料(改為 TIMESTAMP 也不會自動填入匯入時的時間) |
需將半型逗號「,」取代為全型逗號「,」,以避免匯入資料時欄位分割錯誤 |
(匯出資料的注意事項可參考:phpMyAdmin 匯出中文資料成 utf-8 編碼的 .csv 格式之注意事項)
從 phpMyAdmin 管理後台批次匯入資料:
步驟一:先準備好要匯入的原始資料:
步驟二:調整原始資料,要注意:
- 不可保留頂端列的欄位名稱
- 欄位順序要與 MySQL 中的 Table 欄位順序一致
- 不用新增 fabrik_internal_id 欄位,但要自己給 time_date 欄位的資料
Excel 預設編碼方式為 ANSI,檔案只要用 Excel 編輯過,編碼就會被改成 ANSI,要再以記事本開啟另存為 UTF-8 編碼
(以 Notepad++ 編輯則不會更改原本的檔案編碼)
phpMyAdmin 介面的設定參考下圖:
利用 CSV 批次匯入資料:
步驟一:一樣先準備好要匯入的原始資料:
步驟二:調整原始資料,要注意:
- 新增 fabrik_internal_id 和 time_date 這兩個欄位 (內容可空白)
- 要把原始資料的中文欄位翻譯成英文,欄位順序要與 MySQL 中 的 Table 欄位一致
Excel 預設編碼方式為 ANSI,檔案只要用 Excel 編輯過,編碼就會被改成 ANSI,要再以記事本開啟另存為 UTF-8 編碼
(以 Notepad++ 編輯則不會更改原本的檔案編碼)
步驟三:從 Fabrik Table 的介面中,點選「Import from CSV」功能
設定參考下圖:
Fabrik 擴充套件的程式架構
由於 Joomla 採用 Model-View-Controller (MVC) 架構,Fabrik 套件也是以 MVC 架構來開發,因此程式架構很好理解,也很容易猜測如何修改。接下來記錄我小小調整 Fabrik 套件的 PHP 程式碼的作法,包括:
- 修改 Fabrik 套件存檔時的 time_date 欄位,以儲存資料異動當下的完整時間 (原本僅記錄日期:yyyy-mm-dd 00:00:00)
- 在資料存入 DB 之後,把異動的 log 也寫入 DB
修改 Fabrik 套件存檔時的 time_date 欄位,以儲存資料異動當下的完整時間
- 修改檔案:
[path/to/Joomla Dir]/components/com_fabrik/models/table.php - 新增 function getDateTime(),利用 php 內建的 getdate 函式取得目前時間,再調整為「yyyy-mm-dd hh:mm:ss」的格式。
- 修改 function storeRow() <負責 Insert & Update>,在適當位置加入:$oRecord->time_date=$this->getDateTime();。
getDateTime() 函式的內容:
留下資料異動記錄 (Insert、Delete、Update)
- MySQL 內建的 bin-log 無法區別不同的 Joomla 使用者,一律會記錄為 Joomla 用來登入 MySQL 的 user (通常為 root)
- 利用 jos_fabrik_log 這個 fabrik 內建的 table 來儲存資料異動的 log:
欄位名稱 | 內容 |
id | auto_increment 的流水號,作為 PK |
timedate_created | 每一筆資料的異動時間,採預設值即可(CURRENT_TIMESTAMP) |
referring_url | 用來儲存進行此操作的 username (e.g., user1, user2) |
message_type | 用來儲存該 user 進行的操作 (i.e., INSERT, DELETE, UPDATE) |
Message | 該 user 執行的 SQL Statement (重要:必須將「`」和「’」取代為空白) |
- 修改檔案:
[path/to/Joomla Dir]/components/com_fabrik/models/table.php - 新增 function getUserName(),以取得目前登入的使用者名稱,參考 [path/to/Joomla Dir]/components/com_fabrik/models/formsession.php 中的 getUserId() function
- 新增 function logDBOperation($SQL),取得 log 所需的資料,並存入 jos_fabrik_log。
- 修改 storeRow <負責 Insert & Update>及 deleteRows <負責 Delete> 兩個 function,在適當位置加入:
$this->logDBOperation 的呼叫。
經過測試,批次匯入資料時也會留下每一筆資料的異動記錄。
getUserName() 函式的內容:
logDBOperation($SQL) 函式的內容:
設定 MySQL 排程定期備份
參考資料:MySQL備份 shell script
- 修改以下程式,另存為 [path/to/Joomla Dir]/backup/backup.sh:
- 設定 db_user、db_passwd 以及 db_host 變數
- backup_dir=“[path/to/Joomla Dir]/backup“
- # get all databases 以下的內容,改為僅備份 Joomla DB:
$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd [JoomlaDB] | $GZIP -9 > "$backup_dir/backup.0/$time.Joomla2.gz“ - 設定 cron job 每月1日進行備份:
- crontab -u root -e:
0 0 1 * * sh [path/to/Joomla Dir]/backup/backup.sh
在正式環境上最好是用 clean installation 比較保險,並且把網站名稱和 DB 名稱都設定成與測試環境相同,再用 phpMyAdmin 把資料匯出成 insert SQL,以免忘記修改到 DB 中的設定造成網站運作的異常。
其他待解問題
- 先排序好A欄位,再排序B欄位,不要把A欄位的順序重排
- 暫時提昇某個user的權限為可讀寫 (調整「存取」為「作者」無效)
- Range filter 會清掉其他 filter 的設定值 (要設定兩次,多出一個Go button)
本系列其他文章:
2010年4月9日
利用 Joomla 做資產管理 (Asset Management) -3 : 安裝 Fabrik 擴充套件及其使用方法
在上一篇:利用 Joomla 做資產管理 (Asset Management) -1 : 安裝過程紀要中曾經提到,這次要架站是為了記錄機器設備的基本資料,把以往用 excel 記錄的資料 web 化、集中化,只維護一個版本,可從任何有連網的裝置上存取,同時必須滿足以下六個需求:
Joomla 豐富的擴充套件 (extension) 可以在 Joomla Extensions 找到 (全都是英文的),共有 4276 個 extension,分為數十個大類別,其中在 Contacts & Feedback 中有一個 Forms 的類別,在瀏覽的時候要注意,Type 為 Commercial 的是商業軟體,要錢低;Type 為 Non-Commercial 的才是我們要找的免費擴充套件!
點進去這次要使用的套件:Fabrik – as joomla app builder 以後,畫面如下:
Fabrik 這個套件的官網比較複雜些,包括很多 templates、nodules 和 plug-ins,套件主程式反而放在下載頁面的最下面:
下載好 Fabrik 擴充套件主程式後,安裝方式請參考:利用 Joomla 做資產管理 (Asset Management) -2 : 安裝過程紀要 (Linux)
接下來要介紹 Fabrik 擴充套件的設定。首先登入管理員後台,進入 Fabrik 套件的管理介面:
包括 Forms、Tables、Groups、Elements 都是需要設定的:
步驟一:新增一個 Fabrik Form
在 Forms 管理介面中,按最右邊的「新增」以新增一個 Form:
Form 即為使用者在網頁中輸入資料的表單,表單中的每一項資料稱為一個 Element。設定好 Table name 後,Fabrik 會在 Joomla DB 中建立一個同名的 table,同時也會在 Groups 中新增一個同名的 Group,屬於此 Group 的 Elements (欄位)就會出現在接受使用者輸入資料的表單。
步驟二:新增一個 Fabrik Table
在 Table 管理介面中,按最右邊的「新增」以新增一個 Table:
此時在「Data」的設定中的「Link to table」,要選擇剛剛在新增 Form 時所設定的 Table name:
Table 用來呈現儲存於DB中的資料,並提供Advanced search功能,在過濾資料時非常方便。以下是此 Table 的存取權限設定,這裡使用的都是 Joomla 內建的角色 (role),「註冊會員」是指正確登入 Joomla 網站的人,而「管理者」則是擁有 Joomla 網站管理者權限的人。
以下圖的設定為例,必須要先登入網站才能看到 DB 中的資料,而只有管理者有權限可以新增/修改資料。

在過濾設定部分,建議採用以下設定:
進階搜尋的畫面如下,操作上很直覺:
Search all 的功能則是可以搜尋此 Table 內所有欄位的所有內容 (就是 LIKE 的效果啦):
Table 還可進一步設定匯入/匯出資料的權限:
步驟三:開始新增 Form 中用來蒐集使用者輸入資料的欄位 - Element
以下的設定都與權限控管有關,要特別注意。以下先以 Element type = text area 為例:
以一般使用者身分登入是看不到 VIP 欄位的:

一般使用者也無法修改 DB 中的資料:
若以管理者身分登入,則可看到 VIP 欄位:
管理者也可以編輯 VIP 欄位:
步驟四:設定每個 Element 的 Table settings
基本上這些設定值都很好了解,若不確定作用為何,可以隨時從管理介面變更設定值,嘗試一下就知道每個設定的意義了,如下圖:
步驟五:若需要驗證欄位內容,則進行 Validations 設定(以驗證空白為例)
若使用者沒有輸入資料,會看到以下錯誤訊息,非常明確:
Fabrik 內建了很多的 validation rules,一看就知道怎麼用:
步驟六:根據需要新增各種不同類型的輸入欄位
Field:也就是文字方塊 (textbox)
drop down:下拉式選單
text area:文字區域 (適合輸入大量文字)
最後製作出來的 Form 大概就長得像下面這樣:
而呈現使用者在以上的 Form 中輸入的資料的 Table,大概長得像下面這樣:
以上就是 Fabrik 擴充套件的用法介紹,基本上都很簡單,所有的設定都存在 DB,想要深入了解網站運作方式的話可以打開 phpMyAdmin 來查看 DB 中的資料,網站原始碼 (php) 也可以好好研讀 (這就是 open source 的好處呀!)。
下一篇再來談談我對 Joomla & Fabrik 套件做的一些客製化,以及目前遇到的問題和解法。
本系列其他文章:
- 免費!免費!免費!-> 找 Freeware / Open Source Software
- 簡單易用的web介面,支援 CRUD operation (增刪改查)
- 批次匯入現有資料
- 以選單的方式輸入資料
- 條件式的查詢、篩選資料
- 保留資料異動的 log
- 利用 Joomla! 內建的角色:管理者/一般使用者 來實作權限控管
- 管理者:可讀寫所有欄位
- 一般使用者(有登入):
- 大部分欄位可讀,不可修改
- 有某些欄位不可讀(看不見),當然不可修改
- 在修改的 view 中 (link to detail) 都是唯讀
- 一般使用者(沒登入):什麼都看不到
Joomla 豐富的擴充套件 (extension) 可以在 Joomla Extensions 找到 (全都是英文的),共有 4276 個 extension,分為數十個大類別,其中在 Contacts & Feedback 中有一個 Forms 的類別,在瀏覽的時候要注意,Type 為 Commercial 的是商業軟體,要錢低;Type 為 Non-Commercial 的才是我們要找的免費擴充套件!
點進去這次要使用的套件:Fabrik – as joomla app builder 以後,畫面如下:
Fabrik 這個套件的官網比較複雜些,包括很多 templates、nodules 和 plug-ins,套件主程式反而放在下載頁面的最下面:
下載好 Fabrik 擴充套件主程式後,安裝方式請參考:利用 Joomla 做資產管理 (Asset Management) -2 : 安裝過程紀要 (Linux)
接下來要介紹 Fabrik 擴充套件的設定。首先登入管理員後台,進入 Fabrik 套件的管理介面:

包括 Forms、Tables、Groups、Elements 都是需要設定的:

步驟一:新增一個 Fabrik Form
在 Forms 管理介面中,按最右邊的「新增」以新增一個 Form:
Form 即為使用者在網頁中輸入資料的表單,表單中的每一項資料稱為一個 Element。設定好 Table name 後,Fabrik 會在 Joomla DB 中建立一個同名的 table,同時也會在 Groups 中新增一個同名的 Group,屬於此 Group 的 Elements (欄位)就會出現在接受使用者輸入資料的表單。
步驟二:新增一個 Fabrik Table
在 Table 管理介面中,按最右邊的「新增」以新增一個 Table:
此時在「Data」的設定中的「Link to table」,要選擇剛剛在新增 Form 時所設定的 Table name:
Table 用來呈現儲存於DB中的資料,並提供Advanced search功能,在過濾資料時非常方便。以下是此 Table 的存取權限設定,這裡使用的都是 Joomla 內建的角色 (role),「註冊會員」是指正確登入 Joomla 網站的人,而「管理者」則是擁有 Joomla 網站管理者權限的人。
以下圖的設定為例,必須要先登入網站才能看到 DB 中的資料,而只有管理者有權限可以新增/修改資料。
在過濾設定部分,建議採用以下設定:
進階搜尋的畫面如下,操作上很直覺:
Search all 的功能則是可以搜尋此 Table 內所有欄位的所有內容 (就是 LIKE 的效果啦):
Table 還可進一步設定匯入/匯出資料的權限:
步驟三:開始新增 Form 中用來蒐集使用者輸入資料的欄位 - Element
以下的設定都與權限控管有關,要特別注意。以下先以 Element type = text area 為例:
以一般使用者身分登入是看不到 VIP 欄位的:
一般使用者也無法修改 DB 中的資料:
若以管理者身分登入,則可看到 VIP 欄位:
管理者也可以編輯 VIP 欄位:
步驟四:設定每個 Element 的 Table settings
基本上這些設定值都很好了解,若不確定作用為何,可以隨時從管理介面變更設定值,嘗試一下就知道每個設定的意義了,如下圖:
步驟五:若需要驗證欄位內容,則進行 Validations 設定(以驗證空白為例)
若使用者沒有輸入資料,會看到以下錯誤訊息,非常明確:
Fabrik 內建了很多的 validation rules,一看就知道怎麼用:
步驟六:根據需要新增各種不同類型的輸入欄位
Field:也就是文字方塊 (textbox)
drop down:下拉式選單
text area:文字區域 (適合輸入大量文字)
最後製作出來的 Form 大概就長得像下面這樣:
而呈現使用者在以上的 Form 中輸入的資料的 Table,大概長得像下面這樣:
以上就是 Fabrik 擴充套件的用法介紹,基本上都很簡單,所有的設定都存在 DB,想要深入了解網站運作方式的話可以打開 phpMyAdmin 來查看 DB 中的資料,網站原始碼 (php) 也可以好好研讀 (這就是 open source 的好處呀!)。
下一篇再來談談我對 Joomla & Fabrik 套件做的一些客製化,以及目前遇到的問題和解法。
本系列其他文章:
2010年3月5日
利用 Joomla 做資產管理 (Asset Management) -2 : 安裝過程紀要 (Linux)
在上一篇文章中,我紀錄的是在 Windows 平台上的安裝過程,今天開始在我的 Red Hat Linux 測試機上安裝 Joomla,因此再來補完一下。基本上也是透過 Joomla 內建的 installer.php 進行安裝,以下記錄在 Linux (RHEL5) 上要特別注意的地方。(安裝 AMP 還在卡關中,等之後搞清楚再來補補完 … 用 RHEL 安裝預設的 AMP 套件就可以繼續往下安裝 Joomla 了。)
補充0:Joomla 的發音
前陣子看到一篇好文:網路流行新名詞 Linux, Google, Skype, …的正確念法,因此對於 Joomla 這個拼字看起來很特殊的字也找了一下正確的發音,以下是兩個比較有代表性的參考資料 (都是相同的發音):
補充1:在安裝 Joomla! 1.5.x 的時候,無法安裝預設範例資料的解法。如同此文中所說,我在 RHEL 中如果把 configuration.php 檔案設定為可以寫入,就會遇到「ERROR: The XML response that was returned from the server cannot be processed」的錯誤訊息,按照此文中的解法即可正確安裝預設資料。
補充2:調整 Joomla 網站首頁顯示的內容
Joomla! 安裝完成後,若不安裝預設資料,也不安裝中文化支援,則網站首頁會長的像下面這樣,非常簡潔:
若有安裝預設資料以及中文化支援,網站首頁就會看到很多資料:
如果要讓網站首頁變得簡潔一點,有以下幾個設定可以調整。首先是模組管理:
再來是首頁管理:
補充3:手動安裝中文化支援
參考: Joomla! 123 圖解架站教學網-安裝 joomla 繁體中文化,language 檔的安裝目錄分成以下兩個層級:
.ini 檔的內容類似下圖:
補充4:查看 Joomla 的系統資訊
進入管理員後台-> 說明->系統資訊,包括 Linux、Apache、MySQL、PHP 以及 Joomla 的版本:
補充5:查看 Joomla 內建的說明文件
進入管理員後台-> 說明->Joomla!說明
接下來說明 Joomla 擴充套件 (extensions) 的安裝,以 Fabrik 套件為例:
步驟一:賦予 apache 對各目錄的寫入權限 (command: chmod o+w [dir])
下一個畫面長這樣:
要注意的是,把 component 解壓縮到 tmp 目錄下後,UI 上的安裝目錄路徑要寫:/var/www/html/Joomla/tmp/[component name] 才可以 ([component name]也是一個目錄)。
一切順利的話,不用幾秒鐘整個 extension 就安裝成功啦!
步驟三:手動建立以下目錄,並解壓縮相對應的 tar.gz 檔 (tar –xzvf)
安裝好了以後,在管理員後台的「元件」中,就會看到 Fabrik 套件的管理 UI 了:
包括 Tables、Forms、Groups、Elements 都是需要設定的:
至於詳細的設定,就留待下一篇再來細談囉!
本系列其他文章:
補充0:Joomla 的發音
前陣子看到一篇好文:網路流行新名詞 Linux, Google, Skype, …的正確念法,因此對於 Joomla 這個拼字看起來很特殊的字也找了一下正確的發音,以下是兩個比較有代表性的參考資料 (都是相同的發音):
- Joomla Forum: Joomla Pronunciation, brad: We (well most of the core team) pronounce it like zoom, ie Joom-la (Joom pronounce like Zoom or Doom)
- Google video search: joomla (e.g., Joomla CMS Jumpstart Tutorial)
補充1:在安裝 Joomla! 1.5.x 的時候,無法安裝預設範例資料的解法。如同此文中所說,我在 RHEL 中如果把 configuration.php 檔案設定為可以寫入,就會遇到「ERROR: The XML response that was returned from the server cannot be processed」的錯誤訊息,按照此文中的解法即可正確安裝預設資料。
補充2:調整 Joomla 網站首頁顯示的內容
Joomla! 安裝完成後,若不安裝預設資料,也不安裝中文化支援,則網站首頁會長的像下面這樣,非常簡潔:
若有安裝預設資料以及中文化支援,網站首頁就會看到很多資料:
如果要讓網站首頁變得簡潔一點,有以下幾個設定可以調整。首先是模組管理:
再來是首頁管理:
補充3:手動安裝中文化支援
參考: Joomla! 123 圖解架站教學網-安裝 joomla 繁體中文化,language 檔的安裝目錄分成以下兩個層級:
- Site (網站): [Joomla installation folder]/language
- Administrator (管理區): [Joomla dir]/administrator/language
.ini 檔的內容類似下圖:
補充4:查看 Joomla 的系統資訊
進入管理員後台-> 說明->系統資訊,包括 Linux、Apache、MySQL、PHP 以及 Joomla 的版本:
補充5:查看 Joomla 內建的說明文件
進入管理員後台-> 說明->Joomla!說明
接下來說明 Joomla 擴充套件 (extensions) 的安裝,以 Fabrik 套件為例:
步驟一:賦予 apache 對各目錄的寫入權限 (command: chmod o+w [dir])
- [Joomla dir]/administrator/components
- [Joomla dir]/administrator/language/en-GB
- [Joomla dir]/components
- [Joomla dir]/language/en-GB
- [Joomla dir]/media
- 由於安裝套件也是透過 joomla 的 web 介面,因此對於 OS 來講是以 apache 這個帳號存取 file system。
- 不用更改父目錄的存取權限! (例:不需要變更 [Joomla dir]/administrator 目錄的權限,僅需變更 administrator 下的 components 目錄權限即可)
- 在 WinXP SP3 上面安裝 Fabrik 的話,基本上不用擔心權限設定問題。
下一個畫面長這樣:
要注意的是,把 component 解壓縮到 tmp 目錄下後,UI 上的安裝目錄路徑要寫:/var/www/html/Joomla/tmp/[component name] 才可以 ([component name]也是一個目錄)。
一切順利的話,不用幾秒鐘整個 extension 就安裝成功啦!
步驟三:手動建立以下目錄,並解壓縮相對應的 tar.gz 檔 (tar –xzvf)
- Joomla/components/com_fabrik/libs
- Joomla/components/com_fabrik/views
- 不知道為什麼自動安裝檔在這個步驟都會失敗 (在 Windows 上不會有這個問題),但是手動執行以後網站都可以正常運作。
- Fabrik 套件的 libs.tar.gz 檔案解壓縮後不會自動產生 libs 資料夾 (同理,views.tar.gz 也不會自動產生 views 資料夾),有點麻煩。
安裝好了以後,在管理員後台的「元件」中,就會看到 Fabrik 套件的管理 UI 了:
包括 Tables、Forms、Groups、Elements 都是需要設定的:
至於詳細的設定,就留待下一篇再來細談囉!
本系列其他文章:
訂閱:
文章 (Atom)
Google Spreadsheet 裡用規則運算式
最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D
-
今天坎尼去上課老師講了一題很有趣的題目 所以回到家坎尼就順手試驗了一下 I. XOR (exclusive OR) XOR 是邏輯運算子之一,定義為: 當兩數的值不同才為 true,相同則為 false 其他相關說明可以參考 維基百科:XOR II. 程式 以往的做法會宣...
-
好久沒開 Chart Control 議題了 剛好前陣子 Codeplex 出現可以輕鬆建立 Excel 檔案的 Library- NPOI 於是坎尼想說研究一下,看能不能把 Chart Control 匯出圖片到 Excel 中 沒想到只花了不到1小時就研究...
-
上個週末打開一個影片檔,發現字幕檔是中英文混合的,造成字幕吃掉畫面很大的空間, 打開字幕檔一看,果然每一段時間都有先英文後中文的字幕: 因此我想要自己作成「只有中文」&「只有英文」兩個字幕檔,但這個檔案有6418 行,如果要手動一行一行的刪除...