2011-10-20 86 views
1

這裏的formslib Moodle的文檔:如何使用formslib更改MOODLE中的默認編輯器值?

$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")); 

,但不起作用。有任何想法嗎?

回答

3

我的Moodle 2.0複製你的示例代碼到論壇,以此作爲試驗(MOD /論壇/ 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」> using上面的示例代碼。

如果要指定編輯器的默認值的用戶甚至輸入任何東西之前,你可以使用的setValue()的方法調用的addElement()的結果:

$mform->addElement 
(
    'editor', 
    'fieldname', 
    get_string('labeltext', 'langfile'), 
    null, 
    array('context' => $context) 
)->setValue(array('text' => 'Default text!')); 

希望這回答你的問題 - 但請評論是否有任何具體的我可以幫助在這裏。

1
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'), 
     array('context'=>'test")); 

您在上述行語法錯誤:d 'test',不'test"

相關問題