文/張燕燕
二次開發(fā)Moodle主題風(fēng)格
文/張燕燕
為了更好地積累和推廣優(yōu)秀的教學(xué)資源,廣州市教育局教學(xué)研究室于2008年啟動(dòng)了中職文化基礎(chǔ)課程和部分專業(yè)核心課程資源建設(shè)項(xiàng)目。項(xiàng)目涉及教學(xué)資源的研發(fā)、評(píng)審和應(yīng)用推廣。其中,教學(xué)資源庫(kù)的建設(shè)和推廣需要一個(gè)網(wǎng)絡(luò)平臺(tái)作為載體來展示教學(xué)資源。我們選擇了Moodle作為開發(fā)平臺(tái)。
正如許多著名的學(xué)習(xí)管理系統(tǒng)一樣,Moodle可以管理內(nèi)容元件,尤其是針對(duì)教育訓(xùn)練而設(shè)計(jì)的,它加強(qiáng)了學(xué)習(xí)者的歷程紀(jì)錄,讓教師們能夠深入地分析學(xué)生的學(xué)習(xí)歷程。
但是,Moodle的開發(fā)社區(qū)提供的主題都是以通用為主,欠缺學(xué)科特色。而在項(xiàng)目中,教學(xué)研究室共分為9個(gè)學(xué)科組,每個(gè)學(xué)科組都希望自己的網(wǎng)站具有學(xué)科特色。在原有平臺(tái)上對(duì)特定需求的定制就顯得尤有必要。因此,筆者所在的財(cái)經(jīng)商貿(mào)教研室進(jìn)行了Moodle主題風(fēng)格的二次開發(fā),滿足了本學(xué)科的教育人員的需求。
搭建Moodle平臺(tái)
1.運(yùn)行的操作系統(tǒng)
Moodle可以在多種操作系統(tǒng)和Web服務(wù)器上配合不同的數(shù)據(jù)庫(kù)運(yùn)行。Moodle是一個(gè)B/S結(jié)構(gòu)的Web應(yīng)用系統(tǒng),核心組件是構(gòu)建在LAMP環(huán)境上的( L代表Linux,A代表Apache,M代表MySQL,P代表PHP),也可以選擇搭建在Windows上。 PHP是一個(gè)高效的Web服務(wù)端技術(shù),它可以運(yùn)行在目前所有的主流操作系統(tǒng)和W e b服務(wù)器之上, 包括Unix/Linux、Windows和Mac OS下的Apache以及Windows下的IIS。也就是說,構(gòu)架在PHP上的Moodle可以在所有的主流系統(tǒng)上運(yùn)行。
2.安裝過程
在實(shí)際安裝過程中,我們建議采用EasyMoodle安裝包。它包含了Moodle1.8和Apache。使用時(shí)只需雙擊安裝就可以了。整個(gè)安裝的過程是全自動(dòng)的,唯一需要用戶輸入的是用戶名root和密碼。
安裝完畢后,我們建議讀者到www.moodle.org.cn下載最新的Moodle安裝包,解壓后覆蓋到d:wwwweb下的Moodle文件夾,然后訪問網(wǎng)址:http://localhost/moodle,此時(shí)會(huì)進(jìn)入Moodle的安裝過程,只需按照提示繼續(xù)即可。
3.常見問題
在安裝過程中,遇到最多的問題是端口被占用,安裝失敗。原因是Moodle默認(rèn)使用的是80端口,而IIS和迅雷等下載軟件,占用的通常都是80端口。因此就會(huì)產(chǎn)生端口被占用的情況。解決辦法是:卸載IIS及迅雷或修改端口,參考代碼如下:
(1)找到Apache2confhttpd.conf文件中的代碼:
(2)找到moodleconfig.php文件的代碼是:
另一個(gè)常遇到的問題是文件上傳大小的解決。我們需要上傳視頻等文件,但是系統(tǒng)默認(rèn)的是20M,這遠(yuǎn)遠(yuǎn)不能滿足我們的要求,因此,我們找到wwwphp5目錄下的php.ini,為其作相關(guān)的修改。
一般來說,Moodle 系統(tǒng)中有4種級(jí)別的文件限制:
(1)system level (php.ini);
(2)moodle level (admin->Config ->Site variables->maxbytes);
(3)course level (Course settings->Max Upload size);
(4)activity level。
若你需要把文件的限制改為256MB,那么可以在php.ini 中自上而下地修改參數(shù)。上一級(jí)別的優(yōu)先級(jí)高于下一級(jí)。也就是說,下一級(jí)別的文件限制的大小不能超過上一級(jí)別。 比如說,你不能設(shè)置 php.in 的文件限制為8 MB 而 moodle level 的文件限制為 10 MB。
相關(guān)代碼參考如下:
修改完畢后再覆蓋c:windows。
開發(fā)環(huán)境和工具
Moodle整體采用按功能封裝的函數(shù)庫(kù)結(jié)合面向?qū)ο蟮姆椒▉順?gòu)建。它是建立在PHP環(huán)境之上的,由于PHP是一種解釋執(zhí)行的腳本程序語(yǔ)言,所以,在發(fā)布系統(tǒng)的時(shí)候,我們幾乎可以看到所有的系統(tǒng)源代碼,這為我們分析其結(jié)構(gòu)非常有幫助。
運(yùn)行環(huán)境構(gòu)建好以后,我們就可以進(jìn)行開發(fā)工具的選擇。因?yàn)镻HP是解釋執(zhí)行的腳本語(yǔ)言,它是不需要編譯的,直接修改源文件就可以運(yùn)行,所以使用簡(jiǎn)單的文本編輯器如Ultra Edit以及網(wǎng)頁(yè)編輯器如FrontPage和Dreamweaver就可以解決問題。
分析主題風(fēng)格的文件結(jié)構(gòu)
Moodle的界面(即頁(yè)面皮膚)以Theme命名,表示主題風(fēng)格。通過對(duì)文件夾Theme中相關(guān)文件的修改,我們可以為站點(diǎn)設(shè)計(jì)不同的主題風(fēng)格。每個(gè)頁(yè)面都是可以通過CSS進(jìn)行控制的; CSS中使用了簡(jiǎn)單、易懂的英文類命名。
Moodle擁有一個(gè)強(qiáng)大的主題風(fēng)格系統(tǒng),可以通過XHTML和CSS對(duì)其進(jìn)行界面效果的修改。Moodle的主題中定義了多層樣式,分別是站點(diǎn)級(jí)別、課程級(jí)別、用戶級(jí)別和頁(yè)面級(jí)別,可以讓用戶多層次地進(jìn)行樣式風(fēng)格的定義。
Moodle的主題存放在Theme文件夾中,每一個(gè)文件夾代表一套主題,在每個(gè)主題的子文件夾中都包含了表1中的文件和文件夾。
對(duì)每個(gè)主題的開發(fā),實(shí)際上就是對(duì)這些文件夾里的具體文件編寫代碼的過程。在設(shè)計(jì)主題時(shí),開發(fā)者還可以將多個(gè)文件夾中的CSS文件整合起來使用,這個(gè)過程實(shí)際上就是開發(fā)者對(duì)CSS的樣式進(jìn)行新的定義和添加。
表1 Theme文件夾結(jié)構(gòu)
創(chuàng)建新風(fēng)格
Moodle系統(tǒng)規(guī)定開發(fā)者在創(chuàng)建新的主題樣式時(shí),可以考慮從當(dāng)前使用版本中的標(biāo)準(zhǔn)主題開始。
1. 打開文件pix.php制定管理者頭像:
2. 打開文件styles.php
當(dāng)更換banner圖片時(shí)注意由于圖片大小的改變所造成的圖片之間距離的空隙,修改布局代碼可控制中間內(nèi)容呈現(xiàn)區(qū)與兩邊版塊的距離,代碼如下:
3. 打開文件style_color.css
控制課程上部的菜單欄的顏色,改變網(wǎng)頁(yè)的色調(diào),代碼如下:
4. 打開文件header.html,在網(wǎng)頁(yè)上插入Flash banner,代碼如下:
5. 打開文件footer.html,修改網(wǎng)站相關(guān)信息,代碼如下:
整個(gè)過程中的主要工作就是將原子目錄中的內(nèi)容進(jìn)行重新定義,設(shè)計(jì)出新的圖標(biāo)、整體風(fēng)格、色彩體系、字體和布局。完成效果圖如1所示。
圖1 Moodle主題風(fēng)格定制效果
對(duì)Moodle主題風(fēng)格進(jìn)行二次開發(fā)以后,我們將設(shè)計(jì)好的主題文件夾復(fù)制到文件夾d:wwwwebmoodle heme下。訪問網(wǎng)址是http://localhost/moodle,我們可以管理者身份登錄。在網(wǎng)站管理|外觀|主題風(fēng)格|主題選擇器中選擇相應(yīng)的主題。
Moodle的二次開發(fā)和設(shè)計(jì)是一個(gè)綜合性的過程,它的二次開發(fā)牽涉到的知識(shí)領(lǐng)域是相當(dāng)廣泛的,包括從基本的語(yǔ)言描述、HTML設(shè)計(jì)和CSS的設(shè)計(jì)到PHP程序設(shè)計(jì)和基本的服務(wù)器配置技術(shù)。這對(duì)于Moodle的二次開發(fā)者來說既是機(jī)遇,也是挑戰(zhàn),筆者相信隨著Moodle系統(tǒng)的不斷普及和發(fā)展,它的代碼還有進(jìn)一步的研究空間。
(作者單位為廣州市商貿(mào)職業(yè)學(xué)校)