вторник, 10 января 2012 г.

Создание модуля в Moodle 2.x типа activity (часть 6)

Следующий шаг - видоизменение формы, отображающейся на экране, когда открывается некий activity типа itask. В книге написано, что "the two main functions to add form elements to your form are addElement и createElement. These are essentially the same function, except that createElement returns the created form element object without adding it to the form<...>You should typically use addElement, unless you need to perform extra processing on the element before adding it to a form."

Я хочу на этой форме сделать выпадающий список с заголовком "Какую оценку вы хотите за это задание?". Элементами выпадающего списка должны быть цифры от 1 до 5. Закомментировала строки, соответствующие старым элементам управления, т.е. текстовому полю с названием "itask name", и дописала в файл <...>/itask/submit_form.php следующие строки:
При открытии activity Moodle стал ругаться на функцию get_string(). Похоже, настала пора разобраться с русификацией.

Вот тут написано, что синтаксис у функции get_string другой. Должен быть еще один параметр - имя модуля, т.е. в данном случае надо писать "get_string('left_label', 'itask')". Далее, в каталоге <...>/itask/lang создала папку с названием "ru". Скопировала туда из папки <...>/itask/lang/en файл itask.php.

В конец файла <...>/itask/lang/en/itask.php дописала такую строку: "$string['left_label'] = 'left label';", а в конец файла <...>/itask/lang/en/itask.php - такую - "$string['left_label'] = 'Выберите себе оценку';".

Первый раз при запуске activity типа itask показались какие-то кракозябры. Я пересохранила файл <...>/itask/lang/en/itask.php в кодировке UTF8, потом открыла его в программе Notepad++, увидела там кракозябры, переправила, нажала "сохранить как", в открывшемся окне нажала "сохранить". Потом обновила модуль (изменив файл version.php, Администрирование->Уведомления в самом Moodle) и увидела, что русификация заработала:

Комментариев нет:

Отправить комментарий