这是 formslib Moodle 文档:
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'));
Run Code Online (Sandbox Code Playgroud)
这应该是第四个属性参数:
array(
'subdirs'=>0,
'maxbytes'=>0,
'maxfiles'=>0,
'changeformat'=>0,
'context'=>null,
'noclean'=>0,
'trusttext'=>0);
)
Run Code Online (Sandbox Code Playgroud)
我试过:
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'), array('context'=>'test"));
Run Code Online (Sandbox Code Playgroud)
但不起作用。有任何想法吗?
小智 5
我将您的示例代码复制到论坛模块中作为 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) );
Run Code Online (Sandbox Code Playgroud)
为表单编辑器元素指定模块上下文至关重要。另外,第四个参数是保留的 - 您应该使用第五个参数来设置上下文和其他变量,尽管我相信这两个参数实际上都有效(!)
使用上面的示例代码,表单现在将具有 <textarea id="id_fieldname">。
如果您想在用户输入任何内容之前为编辑器指定默认值,您可以使用 setValue() 作为对 addElement() 结果的方法调用:
$mform->addElement
(
'editor',
'fieldname',
get_string('labeltext', 'langfile'),
null,
array('context' => $context)
)->setValue( array('text' => 'Default text!') );
Run Code Online (Sandbox Code Playgroud)
我希望这能回答您的问题 - 但如果我可以在这里提供任何具体帮助,请发表评论。
| 归档时间: |
|
| 查看次数: |
3062 次 |
| 最近记录: |