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

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

от Vadim Tabunshchik -
Количество ответов: 10
Изображение пользователя 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')
И все будет работать