В поле, отведенное для идентификатора пользователя с помощью параметра $params['user-id-field']
, будет автоматически записываться идентификатор пользователя всякий раз, когда этим пользователем создается новая запись.
Если Вы добавите в дескриптор строку: $params['user-id-field'] = 5;
то в каждой новой записи блока поле 5 будет автоматически примать значение, равное идентификатору пользователя.
Такого же результата можно было добиться, назначив полю значение по умолчанию с помощью строки: $defaults[5] = Blox::info('user','id');
Если Вы случайно или специально примените одновременно обе строки, то есть, будете назначать какому-то полю значение, как с помощью параметра user-id-field, так и с помощью массива $defaults, то сработает только последний способ, так как он имеет более высокий приоритет.
Это дает возможность делать записи от лица другого пользователя. Например, администратор может делать новые записи в персональном разделе пользователя X, но автором формально будет являться не администратор, а пользователь X.
Для этого в дескрипторе массиву $defaults нужно передать идентификатор нужно пользователя. Лучше это делать только в режиме администратора.
Поле для идентификатора пользователя нужно вводить в том случае, если вы хотите разграничить права пользователей в пределах одного блока, чтобы авторы имели право редактировать только собственные записи.
Поле для идентификатора пользователя желательно сделать скрытым от редактирования с помощью параметра $fields['hidden']
или $fields['secret']
.