Разработка:modlibs/widgets — различия между версиями
Alex (обсуждение | вклад) |
Ilya (обсуждение | вклад) (Детализовано описание плагина и дополнительных классов.) |
||
Строка 3: | Строка 3: | ||
| type = modlibs | | type = modlibs | ||
}} | }} | ||
+ | == Описание == | ||
+ | В этом плагине располагаются все виджеты - дополнительные средства визуального оформления интерфейса. | ||
+ | === Структура папок === | ||
+ | Для каждого виджета в папке widgets создается отдельная папка с его названием. Внутри этой папки должен лежать файл lib.php, в котором содержится класс виджета. Все дополнительные файлы, относящиеся к этому виджету (если они требуются) - должны лежать в этой же папке. | ||
+ | === Стандарт именования классов === | ||
+ | Все классы виджетов должны называться по схеме '''dof_modlib_widgets'''_''<название_виджета>''. | ||
== API == | == 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|Работа с 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.