Moodle在表现层的实现有多种机制,分别针对页面、表单、导航条、页面头部、页面底部等。
1、针对页面的实现,直接编辑HTML页面,然后在业务逻辑处理完毕之后,include编辑好的html页面即可。这种机制的实现可以看login/index.php和 login/index_form.php页面。
2、针对表单的实现,一般是创建一个父类为moodleform的类,如
class test_form extends moodleform { //定义表单元素 function definition() { //获得表单引用 $mform =& $this->_form; //添加header对象 $mform->addElement('header', '', get_string('createuserandpass'), ''); //添加text对象, $mform->addElement('text', 'username', get_string('username'), 'maxlength="100" size="12"'); $mform->setType('username', PARAM_NOTAGS); $mform->addRule('username', get_string('missingusername'), 'required', null, 'server'); } //定义过滤 function definition_after_data(){} //定义验证逻辑 function validation($data, $files) {} }
然后,业务逻辑层中声明test_form对象,即
$test = new test _form();
最后调用test_form对象的display方法,即可把表单对象显示出来。
$test ->display();
表单元素的类型和规则如下:
$GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'] = array( 'group' =>array('HTML/QuickForm/group.php','HTML_QuickForm_group'), 'hidden' =>array('HTML/QuickForm/hidden.php','HTML_QuickForm_hidden'), 'reset' =>array('HTML/QuickForm/reset.php','HTML_QuickForm_reset'), 'checkbox' =>array('HTML/QuickForm/checkbox.php','HTML_QuickForm_checkbox'), 'file' =>array('HTML/QuickForm/file.php','HTML_QuickForm_file'), 'image' =>array('HTML/QuickForm/image.php','HTML_QuickForm_image'), 'password' =>array('HTML/QuickForm/password.php','HTML_QuickForm_password'), 'radio' =>array('HTML/QuickForm/radio.php','HTML_QuickForm_radio'), 'button' =>array('HTML/QuickForm/button.php','HTML_QuickForm_button'), 'submit' =>array('HTML/QuickForm/submit.php','HTML_QuickForm_submit'), 'select' =>array('HTML/QuickForm/select.php','HTML_QuickForm_select'), 'hiddenselect' =>array('HTML/QuickForm/hiddenselect.php','HTML_QuickForm_hiddenselect'), 'text' =>array('HTML/QuickForm/text.php','HTML_QuickForm_text'), 'textarea' =>array('HTML/QuickForm/textarea.php','HTML_QuickForm_textarea'), 'link' =>array('HTML/QuickForm/link.php','HTML_QuickForm_link'), 'advcheckbox' =>array('HTML/QuickForm/advcheckbox.php','HTML_QuickForm_advcheckbox'), 'date' =>array('HTML/QuickForm/date.php','HTML_QuickForm_date'), 'static' =>array('HTML/QuickForm/static.php','HTML_QuickForm_static'), 'header' =>array('HTML/QuickForm/header.php', 'HTML_QuickForm_header'), 'html' =>array('HTML/QuickForm/html.php', 'HTML_QuickForm_html'), 'hierselect' =>array('HTML/QuickForm/hierselect.php', 'HTML_QuickForm_hierselect'), 'autocomplete' =>array('HTML/QuickForm/autocomplete.php', 'HTML_QuickForm_autocomplete'), 'xbutton' =>array('HTML/QuickForm/xbutton.php','HTML_QuickForm_xbutton') ); $GLOBALS['_HTML_QuickForm_registered_rules'] = array( 'required' => array('html_quickform_rule_required', 'HTML/QuickForm/Rule/Required.php'), 'maxlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'), 'minlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'), 'rangelength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'), 'email' => array('html_quickform_rule_email', 'HTML/QuickForm/Rule/Email.php'), 'regex' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), 'lettersonly' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), 'alphanumeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), 'numeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), 'nopunctuation' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), 'nonzero' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), 'callback' => array('html_quickform_rule_callback', 'HTML/QuickForm/Rule/Callback.php'), 'compare' => array('html_quickform_rule_compare', 'HTML/QuickForm/Rule/Compare.php') );
具体可以查看lib/pear/HTML/QuickForm.php,和各个表单元素和规则的实现文件。
来源:http://www.goodu.info/gc/node/354
相关推荐
这个名为 "moodle-latest-32.tgz" 的压缩包文件是 Moodle 的3.2.2版本,它是软件发布的一个特定版本,通常包含了该版本的所有必要文件和资源,以便用户下载并进行安装。 在Moodle 3.2.2这个版本中,开发者可能引入...
`moodle-dl` 是一个用Python编写的开源库,其主要功能是帮助用户下载Moodle平台上的课程内容。Moodle是一个广泛使用的开源在线学习管理系统,它允许教育者创建交互式、个性化的学习环境。`moodle-dl` 库则提供了方便...
通过上述分析可以看出,在Moodle中应用动态效果可以显著提升用户体验和视觉吸引力。这些效果不仅限于简单的文本滚动,还可以通过集成Flash动画、JavaScript等技术来实现更加复杂的互动式体验。对于教育工作者来说,...
(可选)通过邮件,XMPP或有关这些更改的通知。 通过所有这些出色的功能,节省您宝贵的时间。 不要错过任何文件,如果在线删除... (要从旧版本升级,请使用pip install -U moodle-dl代替) 在所需的下载目录中运行m
4. 评估学习效果:Moodle2支持多种评估方式,如词汇表、问卷调查等,教师可以通过这些功能收集和分析学生的学习情况。 5. 交流与互动:尽管Moodle2的主要功能侧重于信息传播和资源发布,但它也支持一定程度的交流与...
moodle3.7源码
moodle-dev-compose 用于基于Docker的本地Moodle开发环境的撰写文件。要求你会需要: 已安装Docker和Docker-compose。 您要处理的Moodle回购克隆。 确保您没有运行使用端口80的本地Web服务器(如果需要,请将其更改...
"Moodle机器学习后端",即moodle-mlbackend-python,是Moodle平台的一个扩展,旨在为教育领域的在线学习系统提供强大的机器学习功能。Moodle是一个开源的学习管理系统(LMS),广泛用于创建交互式和个性化的学习环境...
#### 知识点六:Moodle的技术架构与社区支持 Moodle采用PHP语言编写,基于MySQL数据库运行,支持多种操作系统。它的模块化设计允许开发者轻松扩展功能。更重要的是,Moodle拥有一个活跃的全球用户和开发者社区,这...
总之,"Moodle-2.7.1安装包"提供了一个快速启动Moodle学习平台的途径,适合教育机构和个人教师探索在线教育的可能性。通过深入理解和掌握Moodle的使用,我们可以创建富有创新性的教学场景,促进学生的学习成效。
moodle的详细教程,从介绍,到安装,以及各个部分的课程,很好的资源
Moodle不仅有助于转变教师的教育理念和教学方法,推动从教案设计向课程设计的转变,更注重多样化的教学评价,如过程性评价、总结性评价以及档案袋评价等。 使用Moodle,教师可以轻松地自我设计和管理课程,无论是...
Moodle-测验-应用程序
moodle-docker-demo:用于演示Moodle 3.9的Docker容器 该存储库包含Docker配置,旨在轻松运行Moodle3.9的副本以在Windows 10计算机上进行演示 Windows先决条件 和 Git命令行工具 Windows批处理命令 Moodle实例 ...
结合这两个工具,`moodle-vagrant-example` 提供了一个方便的、预配置的Moodle开发环境,适合教育者、开发者或者对Moodle感兴趣的任何人都可以快速启动和测试。 在这个Vagrant环境中,操作系统通常是Ubuntu,这是一...
资源名称:Moodle课程设计 内容简介: 《MOODLE课程设计》内容简介:Moodle是Modular Object-Oriented Dynamic Learning Environment(模块化面向对象的动态学习环境)的缩写,它是一个课程管理系统(CMS),基于...
在处理"moodle-custom-files-main"这样的压缩包时,你需要解压文件,然后根据文件类型分别处理: 1. **PHP脚本**:这些可能是用于扩展Moodle功能的自定义模块,如自定义报告、活动或工具。你需要查看代码,理解其...
问题简化这个 Moodle 模块旨在与moodle-mod-automultiplechoice 模块一起使用。 它提供了一个简单的界面来输入多项选择题,而另一个模块则处理根据这些问题构建的纸质测验。 该模块是为TICE de l'Université Pierre...