Все добрый день!
Поставилась задача один новый блок написать для Moodle. Нашёл данное руководство:
http://docs.moodle.org/archive/ru/Development:Blocks
Но он для версии 1.9. Для 2.2 есть серьёзные изменения??
Все добрый день!
Поставилась задача один новый блок написать для Moodle. Нашёл данное руководство:
http://docs.moodle.org/archive/ru/Development:Blocks
Но он для версии 1.9. Для 2.2 есть серьёзные изменения??
Есть, и очень серьёзные: http://docs.moodle.org/dev/Blocks
Спасибо большое, а на русском языке подобной документации не существует??
все есть
)))
Это шутка? Лучше уж в оригинале.
Начал создавать блок-пример block_simplehtml и уже на 3-ем шаге возникли ошибки (при добавлении блока в moodle).
Вроде всё делал по инструкции, правда с английским у меня не особо)
Создал 3 PHP-файла, так как файл access.php для версии moodle 2.4 только, а у меня 2.2.
Файл block_simplehtml.php прикрепил к сообщению.
Создал 3 PHP-файла
Какие?
version.php есть среди них? Что в нем написано? Эти строки обязательны:
$plugin->version = 2011062800; // YYYYMMDDHH (year, month, day, 24-hr time)
$plugin->requires = 2010112400; // YYYYMMDDHH (This is the release version for Moodle 2.0)
ИМХО, ваша ошибка связана с несоответствием версии блока и системы, написано же: "Плагин…устаревший." Посмотрите версии в "родных" блоках своего сайта и укажите те же числа в version.php
ЗЫ: где РНР-шные теги (<?php) в block_simplehtml.php?
Спасибо большое!) Помогло) Буду разбираться дальше)
А как использовать русский язык в блоке? Добавил в папке lang папку ru и там создал языковой файл с употреблением русского шрифта. Обновил блок путём исправления версии блока. Но русский шрифт не отображается(
Прикрепил файл block_simplehtml.php , находящийся в папке lang/ru
Русский языковый файл должен быть в кодировке UTF-8. У Вас он Кириллица (Windows).
Большое спасибо) Совсем про это забыл)
Почему-то созданный мною блок я теперь никуда не могу добавить на страницу, кроме страниц Администрирования. Т.е. на главной странице, если выбрать "Добавить блок...", то в списке вариантов блока его просто нет. А на любой странице администрирования этот блок появляется...
Не знаете с чем это связано?
Удалил блок, затем заново установил и появилась возможность добавить его на главную страницу. Но добавить ещё один такой блок на главную страницу не получается, хотя функцию instance_allow_multiple() я указал. Да и вообще потом опять никуда кроме страниц Администрирования блок добавить не удаётся...
Сам файл покажите, я же на расстоянии не могу посмотреть, что Вы там написали.
функцию instance_allow_multiple() я указал
Вот прям так и написали?
function instance_allow_multiple() {
return true;
}
если выбрать "Добавить блок...", то в списке вариантов блока его просто нет.
Напишите как Вам нужно функцию applicable_formats
return array('site' => true); - только на гл. стр. сайта
return array(
'course-view' => true,
'course-view-social' => false); во всех курсах, за исключением формата social
И так далее
Прям так и написал))
Указал функцию applicable_formats
return array('site' => true);
Но всё равно добавление на главную страницу не появилось...
Добавил php-файл
И удалял, и заново ставил, и писал return array('all' => true), и вообще без функции applicable_formats оставлял, но всё равно добавить блок могу только на страницах Администрирования!
Ого! Разобрался в чём проблема) На других страницах кроме администрирования при открытии выпадющего списка добавления блоков показывается 19 первых возможных вариантов блоков + запись "Добавить". Таким образом moodle просто не показывает те блоки, которые расположены ниже 19-ого возможного блока, а мой новый созданный блок как раз расположен в самом низу списка возможных блоков)
Только как обойти это ограничение?
То, что список блоков закончился именно на вас, говорит о том, что, возможно, именно на вашем блоке произошла какая-то ошибка, которая не дала пройти дальше по списку. Включите в настройка - разработка - отладка максимальный уровень отладки и вывод сообщений в html, возможно увидите много нового.