Добавить пользователя в группу в ezpublish

Я хочу добавить пользователя в группу в дополнение к его существующим группам.

$user = eZUser::fetchByEmail('myemail.com');
$user->attribute('groups'); // array(2,4)

Теперь я хочу добавить этого пользователя в группу 5 с существующими группами. Так

$user->attribute('groups');

станет массивом (2,4,5)


person chanchal118    schedule 24.02.2016    source источник


Ответы (1)


eZUser — это DAO для системного пользователя, и вам не нужно манипулировать им. Что вам нужно, так это добавить местоположение к пользовательскому контенту, чтобы оно было в нескольких группах.

Чтобы не манипулировать основным API, я предлагаю вам использовать это:

$operationResult = 
    eZOperationHandler::execute( 'content',
                                 'addlocation',
                                 array( 'node_id' => $nodeID,
                                        'object_id' => $objectID,
                                        'select_node_id_array' => $selectedNodeIDArray ),
                                 null,
                                 true );

С участием :

  • $nodeID является контентом node_id, связанным с вашим пользователем
  • $objectID является идентификатором object_id контента, связанным с вашим пользователем
  • $selectedNodeIDArray быть в массиве целевых узлов node_id (будущие родительские местоположения вашего пользовательского контента)
person foobar    schedule 26.02.2016