Разработка:modlibs/widgets — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Детализовано описание плагина и дополнительных классов.)
Строка 3: Строка 3:
 
| type = modlibs
 
| type = modlibs
 
}}
 
}}
 +
== Описание ==
 +
В этом плагине располагаются все виджеты - дополнительные средства визуального оформления интерфейса.
 +
=== Структура папок ===
 +
Для каждого виджета в папке widgets создается отдельная папка с его названием. Внутри этой папки должен лежать файл lib.php, в котором содержится класс виджета. Все дополнительные файлы, относящиеся к этому виджету (если они требуются) - должны лежать в этой же папке.
 +
=== Стандарт именования классов ===
 +
Все классы виджетов должны называться по схеме '''dof_modlib_widgets'''_''<название_виджета>''.
 
== API ==
 
== API ==
=== Методы основного класса ===
+
* '''form_classname'''()
* form_classname() - инициализировать библиотеку форм и вернуть имя класса
+
Инициализировать библиотеку форм.
* progressbar($name, $percent, $width, $process, $auto_create) - вернуть экземпляр класса dof_modlib_widgets_progress_bar
+
Этот метод отвечает за подключение библиотеки moodleQuickForm. Если вы хотите использовать moodleQuickForm, то она подключается только при помощи этого метода. Подключение moodleQuickForm напрямую из moodle не допускается.
 +
* '''progressbar'''($name, $percent, $width, $process, $auto_create)
 +
Возвращает экземпляр класса ''dof_modlib_widgets_progress_bar''.
 +
Параметры:
 +
 
 +
''$name'' - имя html-элемента. Если прогрессбаров несколько на странице, то имена не должны повторяться.
 +
 
 +
''$percent'' - начальное процентное значение.
 +
 
 +
''$width'' - длина в пикселях.
 +
 
 +
''$process'' - название процесса, который выполняется в текущий момент (загрузка... сохранение... и т. п.)
 +
 
 +
''$auto_create'' - для этого формата возможны два значения:
 +
 
 +
true - сразу же отправить html-код прогрессбара в выходной поток.
 +
false - только создать объект, не выводя progressbar.
 +
По умолчанию true.
 +
== Дополнительные классы ==
 +
=== dof_modlib_widgets_progress_bar ===
 +
* '''__construct'''($name, $percent, $width, $process, $auto_create)
 +
Параметры:
 +
 
 +
''$name'' - имя html-элемента. Если прогрессбаров несколько на странице, то имена не должны повторяться.
 +
 
 +
''$percent'' - начальное процентное значение.
 +
 
 +
''$width'' - длина в пикселях.
 +
 
 +
''$process'' - название процесса, который выполняется в текущий момент (загрузка... сохранение... и т. п.)
 +
 
 +
''$auto_create'' - для этого формата возможны два значения:
 +
 
 +
true - сразу же отправить html-код прогрессбара в выходной поток.
 +
false - только создать объект, не выводя progressbar.
 +
По умолчанию true.
 +
* '''create'''() - вывести html-код прогрессбара в браузер. Эту функцию не нужно использовать, в случае если в конструкторе $auto_create стоит true.
 +
* '''set_name'''($name) - установить имя html-элемента, которым является прогрессбар. Внутренний метод, вызывается из конструктора.
 +
* '''set_percent'''($percent) - установить начальное процентное значение для полоски прогрессбара.
 +
$percent - количество начальных процентов, от 0 до 100.
 +
* set_percent_adv($cur_amount,$max_amount) - увеличить полоску прогрессбара. Полоска увеличивается в зависимости от того, сколько задач уже выполнено, а сколько еще осталось.
 +
 
 +
''$cur_amount'' - количество уже выполненных задач
 +
 
 +
''$max_amount'' - общее количество задач, которое надо выполнить.
 +
* '''set_width'''($width) - установить длину прогрессбара в пикселях. Внутренний метод, используется из конструктора.
 +
 
 +
=== dof_modlib_widgets_form ===
 +
Пустой класс. Наследует moodleform. Подробнее об использовании moodleQuickForm можно прочитать в разделе [[Разработка:Стандарт_кодирования#Работа с moodleQuickForm|Работа с moodleQuickForm]].

Версия 22:37, 27 мая 2009

Плагин
Название widgets
Тип modlibs


Описание

В этом плагине располагаются все виджеты - дополнительные средства визуального оформления интерфейса.

Структура папок

Для каждого виджета в папке widgets создается отдельная папка с его названием. Внутри этой папки должен лежать файл lib.php, в котором содержится класс виджета. Все дополнительные файлы, относящиеся к этому виджету (если они требуются) - должны лежать в этой же папке.

Стандарт именования классов

Все классы виджетов должны называться по схеме dof_modlib_widgets_<название_виджета>.

API

  • form_classname()

Инициализировать библиотеку форм. Этот метод отвечает за подключение библиотеки moodleQuickForm. Если вы хотите использовать moodleQuickForm, то она подключается только при помощи этого метода. Подключение moodleQuickForm напрямую из moodle не допускается.

  • progressbar($name, $percent, $width, $process, $auto_create)

Возвращает экземпляр класса dof_modlib_widgets_progress_bar. Параметры:

$name - имя html-элемента. Если прогрессбаров несколько на странице, то имена не должны повторяться.

$percent - начальное процентное значение.

$width - длина в пикселях.

$process - название процесса, который выполняется в текущий момент (загрузка... сохранение... и т. п.)

$auto_create - для этого формата возможны два значения:

true - сразу же отправить html-код прогрессбара в выходной поток. false - только создать объект, не выводя progressbar. По умолчанию true.

Дополнительные классы

dof_modlib_widgets_progress_bar

  • __construct($name, $percent, $width, $process, $auto_create)

Параметры:

$name - имя html-элемента. Если прогрессбаров несколько на странице, то имена не должны повторяться.

$percent - начальное процентное значение.

$width - длина в пикселях.

$process - название процесса, который выполняется в текущий момент (загрузка... сохранение... и т. п.)

$auto_create - для этого формата возможны два значения:

true - сразу же отправить html-код прогрессбара в выходной поток. false - только создать объект, не выводя progressbar. По умолчанию true.

  • create() - вывести html-код прогрессбара в браузер. Эту функцию не нужно использовать, в случае если в конструкторе $auto_create стоит true.
  • set_name($name) - установить имя html-элемента, которым является прогрессбар. Внутренний метод, вызывается из конструктора.
  • set_percent($percent) - установить начальное процентное значение для полоски прогрессбара.

$percent - количество начальных процентов, от 0 до 100.

  • set_percent_adv($cur_amount,$max_amount) - увеличить полоску прогрессбара. Полоска увеличивается в зависимости от того, сколько задач уже выполнено, а сколько еще осталось.

$cur_amount - количество уже выполненных задач

$max_amount - общее количество задач, которое надо выполнить.

  • set_width($width) - установить длину прогрессбара в пикселях. Внутренний метод, используется из конструктора.

dof_modlib_widgets_form

Пустой класс. Наследует moodleform. Подробнее об использовании moodleQuickForm можно прочитать в разделе Работа с moodleQuickForm.