Поле для идентификатора пользователя

В поле, отведенное для идентификатора пользователя с помощью параметра $params['user-id-field'], будет автоматически записываться идентификатор пользователя всякий раз, когда этим пользователем создается новая запись.

Если Вы добавите в дескриптор строку: $params['user-id-field'] = 5; то в каждой новой записи блока поле 5 будет автоматически примать значение, равное идентификатору пользователя.

Альтернативный способ сохранения ID пользователя в записи

Такого же результата можно было добиться, назначив полю значение по умолчанию с помощью строки: $defaults[5] = Blox::info('user','id');

Если Вы случайно или специально примените одновременно обе строки, то есть, будете назначать какому-то полю значение, как с помощью параметра user-id-field, так и с помощью массива $defaults, то сработает только последний способ, так как он имеет более высокий приоритет.

Это дает возможность делать записи от лица другого пользователя. Например, администратор может делать новые записи в персональном разделе пользователя X, но автором формально будет являться не администратор, а пользователь X.

Для этого в дескрипторе массиву $defaults нужно передать идентификатор нужно пользователя. Лучше это делать только в режиме администратора.


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

Поле для идентификатора пользователя желательно сделать скрытым от редактирования с помощью параметра $fields['hidden'] или $fields['secret'].