文/张燕燕
二次开发Moodle主题风格
文/张燕燕
为了更好地积累和推广优秀的教学资源,广州市教育局教学研究室于2008年启动了中职文化基础课程和部分专业核心课程资源建设项目。项目涉及教学资源的研发、评审和应用推广。其中,教学资源库的建设和推广需要一个网络平台作为载体来展示教学资源。我们选择了Moodle作为开发平台。
正如许多著名的学习管理系统一样,Moodle可以管理内容元件,尤其是针对教育训练而设计的,它加强了学习者的历程纪录,让教师们能够深入地分析学生的学习历程。
但是,Moodle的开发社区提供的主题都是以通用为主,欠缺学科特色。而在项目中,教学研究室共分为9个学科组,每个学科组都希望自己的网站具有学科特色。在原有平台上对特定需求的定制就显得尤有必要。因此,笔者所在的财经商贸教研室进行了Moodle主题风格的二次开发,满足了本学科的教育人员的需求。
搭建Moodle平台
1.运行的操作系统
Moodle可以在多种操作系统和Web服务器上配合不同的数据库运行。Moodle是一个B/S结构的Web应用系统,核心组件是构建在LAMP环境上的( L代表Linux,A代表Apache,M代表MySQL,P代表PHP),也可以选择搭建在Windows上。 PHP是一个高效的Web服务端技术,它可以运行在目前所有的主流操作系统和W e b服务器之上, 包括Unix/Linux、Windows和Mac OS下的Apache以及Windows下的IIS。也就是说,构架在PHP上的Moodle可以在所有的主流系统上运行。
2.安装过程
在实际安装过程中,我们建议采用EasyMoodle安装包。它包含了Moodle1.8和Apache。使用时只需双击安装就可以了。整个安装的过程是全自动的,唯一需要用户输入的是用户名root和密码。
安装完毕后,我们建议读者到www.moodle.org.cn下载最新的Moodle安装包,解压后覆盖到d:wwwweb下的Moodle文件夹,然后访问网址:http://localhost/moodle,此时会进入Moodle的安装过程,只需按照提示继续即可。
3.常见问题
在安装过程中,遇到最多的问题是端口被占用,安装失败。原因是Moodle默认使用的是80端口,而IIS和迅雷等下载软件,占用的通常都是80端口。因此就会产生端口被占用的情况。解决办法是:卸载IIS及迅雷或修改端口,参考代码如下:
(1)找到Apache2confhttpd.conf文件中的代码:
(2)找到moodleconfig.php文件的代码是:
另一个常遇到的问题是文件上传大小的解决。我们需要上传视频等文件,但是系统默认的是20M,这远远不能满足我们的要求,因此,我们找到wwwphp5目录下的php.ini,为其作相关的修改。
一般来说,Moodle 系统中有4种级别的文件限制:
(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 中自上而下地修改参数。上一级别的优先级高于下一级。也就是说,下一级别的文件限制的大小不能超过上一级别。 比如说,你不能设置 php.in 的文件限制为8 MB 而 moodle level 的文件限制为 10 MB。
相关代码参考如下:
修改完毕后再覆盖c:windows。
开发环境和工具
Moodle整体采用按功能封装的函数库结合面向对象的方法来构建。它是建立在PHP环境之上的,由于PHP是一种解释执行的脚本程序语言,所以,在发布系统的时候,我们几乎可以看到所有的系统源代码,这为我们分析其结构非常有帮助。
运行环境构建好以后,我们就可以进行开发工具的选择。因为PHP是解释执行的脚本语言,它是不需要编译的,直接修改源文件就可以运行,所以使用简单的文本编辑器如Ultra Edit以及网页编辑器如FrontPage和Dreamweaver就可以解决问题。
分析主题风格的文件结构
Moodle的界面(即页面皮肤)以Theme命名,表示主题风格。通过对文件夹Theme中相关文件的修改,我们可以为站点设计不同的主题风格。每个页面都是可以通过CSS进行控制的; CSS中使用了简单、易懂的英文类命名。
Moodle拥有一个强大的主题风格系统,可以通过XHTML和CSS对其进行界面效果的修改。Moodle的主题中定义了多层样式,分别是站点级别、课程级别、用户级别和页面级别,可以让用户多层次地进行样式风格的定义。
Moodle的主题存放在Theme文件夹中,每一个文件夹代表一套主题,在每个主题的子文件夹中都包含了表1中的文件和文件夹。
对每个主题的开发,实际上就是对这些文件夹里的具体文件编写代码的过程。在设计主题时,开发者还可以将多个文件夹中的CSS文件整合起来使用,这个过程实际上就是开发者对CSS的样式进行新的定义和添加。
表1 Theme文件夹结构
创建新风格
Moodle系统规定开发者在创建新的主题样式时,可以考虑从当前使用版本中的标准主题开始。
1. 打开文件pix.php制定管理者头像:
2. 打开文件styles.php
当更换banner图片时注意由于图片大小的改变所造成的图片之间距离的空隙,修改布局代码可控制中间内容呈现区与两边版块的距离,代码如下:
3. 打开文件style_color.css
控制课程上部的菜单栏的颜色,改变网页的色调,代码如下:
4. 打开文件header.html,在网页上插入Flash banner,代码如下:
5. 打开文件footer.html,修改网站相关信息,代码如下:
整个过程中的主要工作就是将原子目录中的内容进行重新定义,设计出新的图标、整体风格、色彩体系、字体和布局。完成效果图如1所示。
图1 Moodle主题风格定制效果
对Moodle主题风格进行二次开发以后,我们将设计好的主题文件夹复制到文件夹d:wwwwebmoodle heme下。访问网址是http://localhost/moodle,我们可以管理者身份登录。在网站管理|外观|主题风格|主题选择器中选择相应的主题。
Moodle的二次开发和设计是一个综合性的过程,它的二次开发牵涉到的知识领域是相当广泛的,包括从基本的语言描述、HTML设计和CSS的设计到PHP程序设计和基本的服务器配置技术。这对于Moodle的二次开发者来说既是机遇,也是挑战,笔者相信随着Moodle系统的不断普及和发展,它的代码还有进一步的研究空间。
(作者单位为广州市商贸职业学校)