А заморачиваться надо, т.к. у нас например были полные тезки и различали их по городам. Они так и представлялись - Фамилия-город =)
Другие же спокойно пишут в поле Firstname: Жан Клод Мишель или Анна Мария, значит и мы так же спокойно можем написать там: Иван Иванович .
Простой: вписать отчество вписывается в поле имени. В общем-то это не ошибка, так как отчество у нас это и есть часть имени (как где-нибудь "фон" и т.д.).
Кривой: вписать отчество в поле "отдел", "организация" или любое другое стандартное поле. В настройках "безопасность" установить порядок отображения имени (там обычно ИМЯ + ФАМИЛИЯ) значение "язык". Зайти в меню "язык", "редактирование языка", русский, файл moodle.php. Там найти поле "fullnamedisplay" и написать там "$a->firstname $a->lastname $a->department", а в поле "department" переименовать в Отчество.
Трудный: отредактировать функцию fullname(), добавив туда собственный вариант, с получением отчества из дополнительного поля или из другого источника.
Возможно, разработчики Moodle добавят дополнительные поля для составных частей имени в профиль пользователя, тогда с переименованием отдела и другими "нетрадиционными" способами возится не придется.
IMHO отчество дописать в имя - самое простое.
Там при регистрации требуется отчество.
Может уже готово и можно сделать патч.
Кстати, есть предложение сделать каталог стандартных патчей для руссификации moodle, которые нужно добавлять перед установкой moodle для добовления национального колорита.
Туда включить:
поле для отчества
правильное формирование названий дат
ну и что ещё придумается...
на счет каталога с патчами!
Патч для запрета входа учетной записи может оказаться полезен.
Патч для групповой занесения в/удаления из групп
Кто-то тут давал очень удобный патчик для глобальных групп
Шаблон для ворда (gift+картинки)
Идея с каталогом дополнительных модулей.
К сожалению, не все из перечисленного можно сделать просто модулями, а каталог патчей - это уже скорее инструкция по доработке напильником. Можно попробовать, если наберутся участники, готовые регулярно участвовать в тестировании модулей и патчей, можно попробовать наладить регулярный выпуск локализованных сборок.
Когда я начал заниматься вставлением поля отчество, был первый способ. не много потыкавшись сделал второй способ, но это для меня не подходит, и не могу правильно отредактировать функцию fullname() может кто подскажеть в каком направление надо копать!
Я если честно пока совсем не нашел где описывается fullname (), подскажите знатоки)
grep -R fullname *
Но добавление поля с отчеством это очень тяжелый путь. Там дофига мест где используются отдельно firstname, lastname без fullname()!
А grep предлагать это типа для кол-ва сообщений? Сказать где не скажу, а вот какую нить хрень да и напишу! Больше ответов больше рейтинг
Я конечно понимаю что grep это очень круто))) Но у меня есть локальная копия файлов и Notepad++ и я поиском по файлам пользуюсь!
Так вот в ответ получаю 1455 hits in 309 files и это поиск не закончился еще)) Если кто-то копал эту функцию может подскажет в каком файле изначально прописана function fullname () {тра ля ля}
Буду очень благодарен!
загрузите netbeans, там в контекстном меню на имя функции есть пункт "перейти к определению". Notepad++ хорош, но использовать его для разработки ПО, это то же, что отвёртку для забивания гвоздей.
нормальный grep выдает имя файла и содержимое всей строки в которой найден шаблон
поставьте плагин OpenCTags для Notepad++ и этот поиск упроститься
Уважаеммые коллеги, у меня складывается впечатление что я зашел на форум посвещенный выбору приложения для разработки ПО moodle)
Вы мне можете сказать какой основной файл (откуда плясать) в котором описана функция fullname в файле то я и сам найду)
Адекватное ПО - это решение вашего вопроса и других простых вопросов которые возникнут в ходе ковыряния кода.
Настоятельно рекомендуется ознакомиться с документацией
Поиск файла с кодом функции - это самая простая задачка с которой сталкиваешься при правке moodle.
fullname() лежит в lib/moodlelib.php
Спасибо за подсказку!!! Сильно упростили процесс поиска)
Moodle 3.4.2+
Администрирование -> Пользователи -> Права -> Политики пользователя
Формат полного имени fullnamedisplay: lastname firstname middlename
Формат альтернативного полного имени: lastname firstname middlename
Спасибо за совет, он оказывается был и в описании поля, но туда обычно никто не смотрит и я не исключение....
Добрый день! Подскажите пожалуйста, в каком файле можно дописать слово "отчество" чтобы оно отображалось на форме регистрации?
Меню: Администрирование - Пользователи - Политики пользователя
В поле "Формат полного имени" (fullnamedisplay) введите значение: lastname firstname middlename
Поле отчество не заблокировано. В поле (fullnamedisplay) стоит значение: lastname firstname middlename . Но поле отчество к сожалению не появляется.
Рекомендуемые установки сделали. Moodle 3.5.14
Администрирование -> Пользователи -> Права -> Политики пользователя
Формат полного имени fullnamedisplay: lastname firstname middlename
Формат альтернативного полного имени: lastname firstname middlename
Но поле отчество появилось только при создании профиля пользователя и отражается в списке пользователей. А вот на странице регистрации - нет.
В русском (и украинском) переводе строка fullnamedisplay у меня выглядит так: lastname firstname middlename
alternativefullnameformat пишем так, как нам нужно, у меня это также «lastname firstname middlename»
Всё, нет никаких проблем с выводом имени пользователя на любом языке.
По поводу поля отчество на странице регистрации: проще всего отредактировать функцию useredit_get_required_name_fields в /user/editlib.php, чтобы выглядела так (показаны только строки с изменениями):
function useredit_get_required_name_fields() {
......................................................................
$necessarynames = array('firstname', 'middlename', 'lastname');
...............................................................................
$languageformat = 'firstname middlename lastname';
Альтернативный вариант для вывода поля отчество: создать дополнительное поле с использованием плагина Associated input и выводить его на странице регистрации
Помогло отредактировать функцию useredit_get_required_name_fields .
$fields = array('id' => 'id',
'username' => 'username',
'email' => 'email',
'firstname' => 'firstname',
'middlename' => 'middlename',
...............................................................
«когда выгружаем список участников конкретного курса» - внести правки в файл /user/action_redir.php:
$columnnames = array(
'firstname' => get_string('firstname'),
'middlename' => get_string('middlename'),
'lastname' => get_string('lastname'),
);
и ниже:
$sql = "SELECT u.firstname, u.middlename, u.lastname" . $identityfieldsselect . "
Подскажите, пожалуйста, какой файл необходимо отредактировать, чтобы в выгрузке оценок (например в формате excel) также выгружалось отчество. Добавить middlename в параметр grade_export_userprofilefields оказалось недостаточно, всё равно не отображается.
Большое спасибо.
А какой файл и как надо отредактировать, чтобы отчество выгружалось в оценках курса, вот здесь:
[Курс] - Оценки - Управление оценками - Экспорт - Таблица Excel ?
Через Администрирование - Оценки - Общие настройки не получается, там поле middlename присутствует в настройке «Поля профиля пользователя в экспортируемой оценке», но в выгрузке отчества всё равно нет. Подскажите, пожалуйста, какой файл за это отвечает, и что там следует отредактировать. Заранее огромное спасибо.
Файл user/lib.php
В function user_get_default_fields() добавьте 'middlename' в возвращаемый массив
Действуйте как написал Vadim Tabunshchik
После где есть в этом же файле массив array('firstname', 'middlename') замените на array('firstname', 'middlename', 'lastname')
И все будет работать