Добавление поля "Отчество"

Добавление поля "Отчество"

от Виталий Лавров -
Количество ответов: 37
Изображение пользователя Эксперт по Moodle
Кто-нибудь пытался добавить поддержку отчества в moodle ?

В ответ на Виталий Лавров

Re: Добавление поля "Отчество"

от Alexandre Scherbyna -
У меня принято, что в поле Firstname для преподавателей указывается имя и отчество, а для студентов – только имя. Это удобно, т.к. в любом списке пользователей преподавателя легко отличить от студента. Если у Вас отчество нужно указывать всем - пишите всем. Зачем морочиться с добавлением еще какого-то поля?
В ответ на Alexandre Scherbyna

Re: Добавление поля "Отчество"

от Лилия Ч. -
Например, у нас идет олимпиада для школьников. Включена саморегистрация. Сколько не пишем, пишите полностью ФИО, многие не пишут отчество. А много однофамильцев, и даже с одной местности. Есть проблемы. Вот в этом случае нужно обязательное поле отчества.
В ответ на Виталий Лавров

Re: Добавление поля "Отчество"

от Антон Чурков -
Я добавил еще одно поле, но выглядит конечно ужасно и не сразу поймешь что это отчество...

А заморачиваться надо, т.к. у нас например были полные тезки и различали их по городам. Они так и представлялись - Фамилия-город =)
В ответ на Антон Чурков

Re: Добавление поля "Отчество"

от Alexandre Scherbyna -
Добавлять можно все, что захочется или потребуется. Но Вы не объяснили, зачем для отчества создавать новое поле, а не использовать имеющееся?
Другие же спокойно пишут в поле Firstname: Жан Клод Мишель или Анна Мария, значит и мы так же спокойно можем написать там: Иван Иванович Посмішка.
В ответ на Антон Чурков

Re: Добавление поля "Отчество"

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
Есть три способа: простой, кривой и трудный улыбаюсь

Простой: вписать отчество вписывается в поле имени. В общем-то это не ошибка, так как отчество у нас это и есть часть имени (как где-нибудь "фон" и т.д.).

Кривой: вписать отчество в поле "отдел", "организация" или любое другое стандартное поле. В настройках "безопасность" установить порядок отображения имени (там обычно ИМЯ + ФАМИЛИЯ) значение "язык". Зайти в меню "язык", "редактирование языка", русский, файл moodle.php. Там найти поле "fullnamedisplay" и написать там "$a->firstname $a->lastname $a->department", а в поле "department" переименовать в Отчество.

Трудный: отредактировать функцию fullname(), добавив туда собственный вариант, с получением отчества из дополнительного поля или из другого источника.

Возможно, разработчики Moodle добавят дополнительные поля для составных частей имени в профиль пользователя, тогда с переименованием отдела и другими "нетрадиционными" способами возится не придется.
В ответ на Alex Djachenko

Re: Добавление поля "Отчество"

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
Скажите, а как это сделано на infoco.ru?
Там при регистрации требуется отчество.
Может уже готово и можно сделать патч.

Кстати, есть предложение сделать каталог стандартных патчей для руссификации moodle, которые нужно добавлять перед установкой moodle для добовления национального колорита.

Туда включить:
поле для отчества
правильное формирование названий дат

ну и что ещё придумается...
В ответ на Vadim Dvorovenko

Re: Добавление поля "Отчество"

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
+1
на счет каталога с патчами!

Патч для запрета входа учетной записи может оказаться полезен.
Патч для групповой занесения в/удаления из групп
Кто-то тут давал очень удобный патчик для глобальных групп
Шаблон для ворда (gift+картинки)

В ответ на Vadim Dvorovenko

Re: Добавление поля "Отчество"

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
На infoco.ru просто добавлено дополнительное поле в профиль. К сожалению, при такой технологии отчество невозможно высветить вместе с именем без правок кода, а делать эти правки, если они не будут добавлены в основную версию, на мой взгляд - далеко не самое лучшее решение.

Идея с каталогом дополнительных модулей.
К сожалению, не все из перечисленного можно сделать просто модулями, а каталог патчей - это уже скорее инструкция по доработке напильником. Можно попробовать, если наберутся участники, готовые регулярно участвовать в тестировании модулей и патчей, можно попробовать наладить регулярный выпуск локализованных сборок.
В ответ на Alex Djachenko

Re: Добавление поля "Отчество"

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
На всяких сайтах для ковырятелей мобильников каталоги патчей хорошо организованы можно на них ориентироваться. Просто указывается точная версия для которой они предназначены. Если делать их для версии STABLE, а не WEEKLY, то проблем никаких не должно быть.
В ответ на Alex Djachenko

Re: Добавление поля "Отчество"

от Артем Тюменцев -

Когда я начал заниматься вставлением поля отчество, был первый способ. не много потыкавшись сделал второй способ, но это для меня не подходит, и не могу правильно отредактировать функцию fullname() может кто подскажеть в каком направление надо копать!

В ответ на Артем Тюменцев

Re: Добавление поля "Отчество"

от Mikhael Kriot -

Я если честно пока совсем не нашел где описывается fullname (), подскажите знатоки)

В ответ на Mikhael Kriot

Re: Добавление поля "Отчество"

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

grep -R fullname *

Но добавление поля с отчеством  это очень тяжелый путь. Там дофига мест где используются отдельно firstname, lastname без fullname()!

В ответ на Виталий Лавров

Re: Добавление поля "Отчество"

от Mikhael Kriot -

А grep предлагать это типа для кол-ва сообщений? Сказать где не скажу, а вот какую нить хрень да и напишу! Больше ответов больше рейтингпоказываю язык

Я конечно понимаю что grep это очень круто))) Но у меня есть локальная копия файлов и Notepad++  и я поиском по файлам пользуюсь! 

Так вот в ответ получаю 1455 hits in 309 files и это поиск не закончился еще)) Если кто-то копал эту функцию может подскажет в каком файле изначально прописана function fullname () {тра ля ля}

Буду очень благодарен!

В ответ на Mikhael Kriot

Re: Добавление поля "Отчество"

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

загрузите netbeans, там в контекстном меню на имя функции есть пункт "перейти к определению". Notepad++ хорош, но использовать его для разработки ПО, это то же, что отвёртку для забивания гвоздей.

В ответ на Mikhael Kriot

Re: Добавление поля "Отчество"

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

нормальный grep выдает имя файла и содержимое всей строки в которой найден шаблон улыбаюсь

поставьте плагин OpenCTags для Notepad++ и этот поиск упроститься

В ответ на Виталий Лавров

Re: Добавление поля "Отчество"

от Mikhael Kriot -

Уважаеммые коллеги, у меня складывается впечатление что я зашел на форум посвещенный выбору приложения для разработки ПО moodle) 

Вы мне можете сказать какой основной файл (откуда плясать) в котором описана функция fullname в файле то я и сам найду)

В ответ на Mikhael Kriot

Re: Добавление поля "Отчество"

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Адекватное ПО - это решение вашего вопроса и других простых вопросов которые возникнут в ходе ковыряния кода.

Настоятельно рекомендуется ознакомиться с документацией

Поиск файла с кодом функции - это самая простая задачка с которой сталкиваешься при правке moodle.

fullname() лежит в lib/moodlelib.php

В ответ на Виталий Лавров

Re: Добавление поля "Отчество"

от Василий Медвежонков -

Moodle 3.4.2+
 Администрирование -> Пользователи -> Права -> Политики пользователя
         Формат полного имени fullnamedisplay: lastname firstname middlename
          Формат альтернативного полного имени: lastname firstname middlename

В ответ на Василий Медвежонков

Re: Добавление поля "Отчество"

от Игорь Глущенко -

Спасибо за совет, он оказывается был и в описании поля, но туда обычно никто не смотрит и я не исключение....

В ответ на Василий Медвежонков

Re: Добавление поля "Отчество"

от Михаил Б -

Добрый день! Подскажите пожалуйста, в каком файле можно дописать слово "отчество" чтобы оно отображалось на форме регистрации?

Приложение otchestvo.jpg
В ответ на Михаил Б

Re: Добавление поля "Отчество"

от Mihail Omelin -
Попробуйте вот так.
Меню: Администрирование - Пользователи - Политики пользователя
В поле "Формат полного имени" (fullnamedisplay) введите значение: lastname firstname middlename
При этом формат альтернативного полного имени лучше оставить по умолчанию
Кроме того, проверьте, не заблокировано ли поле "Отчество" вот здесь:
Администрирование - Плагины - Аутентификация -  Самостоятельная регистрация по электронной почте.


В ответ на Mihail Omelin

Re: Добавление поля "Отчество"

от Михаил Б -

Поле отчество не заблокировано. В поле  (fullnamedisplay) стоит значение: lastname firstname middlename . Но поле  отчество к сожалению не появляется.

В ответ на Михаил Б

Re: Добавление поля "Отчество"

от Лилия Ч. -
Добрый день. Нас тоже очень интересует этот вопрос. Именно добавить обязательное поле Отчество на страницу регистрации. Его нет, и пользователи при регистрации указывают только имя.
Рекомендуемые установки сделали. Moodle 3.5.14
Администрирование -> Пользователи -> Права -> Политики пользователя
Формат полного имени fullnamedisplay: lastname firstname middlename
Формат альтернативного полного имени: lastname firstname middlename
Но поле отчество появилось только при создании профиля пользователя и отражается в списке пользователей. А вот на странице регистрации - нет.
В ответ на Лилия Ч.

Re: Добавление поля "Отчество"

от Vadim Tabunshchik -
Изображение пользователя Developers
fullnamedisplay лучше оставить language, чтобы корректно выводилось имя пользователя на языках, где не используется отчество вовсе.
В русском (и украинском) переводе строка 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 и выводить его на странице регистрации
В ответ на Vadim Tabunshchik

Re: Добавление поля "Отчество"

от Лилия Ч. -
Спасибо огромное. Ваш совет помог решить нашу большую проблему. Отредактровали функцию useredit_get_required_name_fields в /user/editlib.php
В ответ на Vadim Tabunshchik

Re: Добавление поля "Отчество"

от Mihail Omelin -
У меня очень похожая ситуация, однако главная проблема, как оказалось - отчества не выгружаются в файл, например, в Excel. Есть обязательное поле при регистрации, есть вывод учётных записей с отчествами на экран через Администрирование / Пользователи / Учетные записи / Действия над несколькими пользователями  (для этого alternativefullnameformat = lastname firstname middlename). Далее, если выбираем С выбранными пользователями... - Показать на странице, отчества отображаются, но если выбираем Скачать, в полученном файле поля middlename нет
Уважаемые друзья, может быть, кто-нибудь знает, как решить данную проблему - выгрузку в файл списка пользователей с отчествами? Либо через упомянутый инструмент - Действия над несколькими пользователями, либо когда выгружаем список участников конкретного курса.
В ответ на Mihail Omelin

Re: Добавление поля "Отчество"

от Vadim Tabunshchik -
Изображение пользователя Developers
«Действия над несколькими пользователями» - чтобы скачивать пользователей с отчеством необходимо внести правки в файл /admin/user/user_bulk_download.php, добавив в массив полей пользователя Отчество (middlename):
$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 . "
В ответ на Vadim Tabunshchik

Re: Добавление поля "Отчество"

от Maksim Port -
Добрый день, Вадим! Большое спасибо, Вы как всегда спасаете!

Подскажите, пожалуйста, какой файл необходимо отредактировать, чтобы в выгрузке оценок (например в формате excel) также выгружалось отчество. Добавить middlename в параметр grade_export_userprofilefields оказалось недостаточно, всё равно не отображается.
В ответ на Vadim Tabunshchik

Re: Добавление поля "Отчество"

от Mihail Omelin -

Большое спасибо.

А какой файл и как надо отредактировать, чтобы отчество выгружалось в оценках курса, вот здесь:

[Курс] - Оценки - Управление оценками - Экспорт - Таблица Excel ?

Через Администрирование - Оценки -  Общие настройки не получается, там поле middlename присутствует в настройке «Поля профиля пользователя в экспортируемой оценке», но в выгрузке отчества всё равно нет. Подскажите, пожалуйста, какой файл за это отвечает, и что там следует отредактировать. Заранее огромное спасибо.

В ответ на Mihail Omelin

Re: Добавление поля "Отчество"

от Evgeny Shmidt -

Файл user/lib.php

В function user_get_default_fields() добавьте 'middlename' в возвращаемый массив

В ответ на Vadim Tabunshchik

Re: Добавление поля "Отчество"

от Алексей Сидоров -
Наверно уже поздно, но для других кто искать будет:
Действуйте как написал Vadim Tabunshchik
После где есть в этом же файле массив array('firstname', 'middlename') замените на array('firstname', 'middlename', 'lastname')
И все будет работать