这是formslib moodle doc:
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'));
这应该是第4个属性参数:
array(
'subdirs'=>0,
'maxbytes'=>0,
'maxfiles'=>0,
'changeformat'=>0,
'context'=>null,
'noclean'=>0,
'trusttext'=>0);
)
我试过了:
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'), array('context'=>'test"));
但不起作用。有什么想法吗?
答案 0 :(得分:3)
我在Moodle 2.0中将您的示例代码作为测试(mod / forum / post_form.php)复制到论坛模块中,并设法使用以下内容显示编辑器:
$forum_id = optional_param('forum', 0, PARAM_INT); // id of forum (from URL)
$cm = get_coursemodule_from_instance('forum', $forum_id, $course->id);
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'), null, array('context' => $context) );
为表单编辑器元素指定模块上下文至关重要。此外,第四个参数是保留的 - 您应该使用第五个参数来设置上下文和其他变量,尽管我相信这两个参数实际上都有效(!)
表单现在将具有< textarea id =" id_fieldname">使用上面的示例代码。
如果要在用户输入任何内容之前为编辑器指定默认值,可以使用setValue()作为对addElement()结果的方法调用:
$mform->addElement
(
'editor',
'fieldname',
get_string('labeltext', 'langfile'),
null,
array('context' => $context)
)->setValue( array('text' => 'Default text!') );
我希望这可以回答你的问题 - 但如果我有任何具体的帮助,请发表评论。
答案 1 :(得分:1)
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'),
array('context'=>'test"));
您在上述行中有语法错误:D 'test'
,而非 'test"