Как изменить значение редактора по умолчанию в MOODLE с использованием formslib? - PullRequest
1 голос
/ 21 октября 2011

Вот документ mouldlib doodle:

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

но не работает.Есть идеи?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2011

Я скопировал ваш пример кода в модуль форума в качестве теста (mod / forum / post_form.php) в Moodle 2.0 и сумел настроить редактор для отображения с помощью следующего:

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

Это важноуказать контекст модуля для элементов редактора форм.Кроме того, четвертый аргумент зарезервирован - вы должны использовать пятый аргумент для установки контекста и других переменных, хотя я считаю, что оба аргумента фактически работают (!)

Форма теперь будет иметьиспользуя приведенный выше пример кода.

Если вы хотите указать значение по умолчанию для редактора еще до того, как пользователь что-либо введет, вы можете использовать setValue () как вызов метода для результата addElement ():

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

Я надеюсь, что это отвечает на ваш вопрос - но, пожалуйста, прокомментируйте, если есть что-то конкретное, с чем я могу помочь здесь.

1 голос
/ 24 июля 2015
$mform->addElement('editor', 'fieldname', get_string('labeltext', 'langfile'),
        array('context'=>'test")); 

В приведенной выше строке есть синтаксическая ошибка: D 'test', а не 'test"

...