Moodle二次开发之block.doc
tougaol 主碎km中国信息技术教育2011/05 I 79中国信息技术教育2011/05 I 79Moodle二次开发之block于方军山东省淄博市博山区山头中心学校摘要:Moodle是一个源代码开放的在线学习管理系统,教师庄平时的教学中可以通过添加、修改各种活动或资源,来定制其课 程形式,实现交互式們教学过程。Moodle是模块化的,提供很多不同摸块接口开发者可以贡献开发好的模块来增强Moodte的功能。 本文介绍了如何在Moxile中创建基本的功能板块block.这是MoodJe最基本、最常见的二次开发,并介绍了 block块的权限设置。关键词:Moodle;功能板块;二次开发中国信息技术教育2011/05 I 79中国信息技术教育2011/05 I 79©创建一个block通过创建一个最简单的以 、helloworld命名的块来介绍如何创建 一个block,本block只是用于显示文 本:hello world!首先,在Moodle文件夹中的blocks 文件夹中创建helloworid文件夹,在 这个文件夹中根据Moodle的命名规 贝勺 module typemodule name.php, 创建 blockjelloworld.php 文件。在 这个文件中首先通过block_base基类 创建blockjielloworld类,然后为这 个类创建一个初始化函数founction init(),在此函数中设遥块标题和块版 本两个值,如下所示。class btock-hdbMrtl extentfc block_ba$e function WtQ $this->title = g2t_stringChel【oworld', 'btockJeOowrtf);StHs->versbn = 2010080700;“/function nt其次,设置block显示内容,通过设 融eLcontcnt()函数里 $this->content: 的值来设置block的显示内容,如下所示function get_content() if ($ttis->content 1= NULL) return $ths->content;$trts->content = new stddass;$tfis->content->text = 'Helo WorWI1: return $tfis>content;/funct»n getcontent/dass btock_hdlowodd?>这时,helloworld块已经创建成功。O添加语言文件同Moodle中的其他插件一样, block可以用自己的语言文件来管理其 显示的字符电这些语言文件包含在一 个专门的lang文件夹内。Moodle使用 其语言文件夹层次结构。这种设计考 虑了子语言包对父语言包的继承,子语 言中未定义的任何字符串,都将会从父 语言包中提取。在helloworld文件夹中建立lang 文件夹,再在lang文件夹中建立en_ utf8xzh_cn_utf8两个子文件夹,在每 个子文件夹中创建block_helloworld. php文件,Moodle存储所有的字符 串在一个哈希数组内称为$stringo在 en_ut f 8 的 blocljhelloworld.php文件 中定义字符串的值,如下所示。<?PHPSstrirfheCaworid' = 'Heto World';?>在 zh_cn_utfJ)lock_helloworld. php文件中定义字符申的值,如卜所示。<?PHPSstnrgf'hefcwarid'='你好世界';?>®添加权限设置Moodle的用户操作管理分为五 个级别的权限:网站管理员操作权限; 课程管理员操作权限;教师操作权限; 学生操作权限和访客操作权限。下面为 新建的heUoworld块设置相应的权限。在helloworld文件夹中创建db 文件夹,在db文件夹中创建一个名为 access.php的文件,该文件用于定义权艮 简定畑示傀<?p$biock_hdbwcdd_cawMties = anay('btock/hefoworid:vjew' => aitay(中国信息技术教育2011/05 I 79