Flag モジュールはDrupal 8の開発中ですが、正常に動作しています。ただし、プログラムでフラグを追加する方法は見つかりませんでした。 APIドキュメント Drupal 7バージョンについて語っているようです。
プログラムでフラグを追加するにはどうすればよいですか?
Flagサービスを使用して、プログラムでエンティティにフラグを設定または解除する方法を次に示します。
$flag_id = 'bookmark';
$flag_service = \Drupal::service('flag');
$flag = $flag_service->getFlagById($flag_id);
// Flag an entity with a specific flag.
$flag_service->flag($flag, $entity);
// Unflag an entity with a specific flag.
$flag_service->unflag($flag, $entity);
あなたがしなければならない特定のユーザーのフラグ:
$account = \Drupal::currentUser(); // or load a specific user
$flag_service = \Drupal::service('flag');
$flag = $flag_service->getFlagById('bookmark'); // replace by flag machine name
// check if already flagged
$flagging = $flag_service->getFlagging($flag, $media, $account);
if (!$flagging) {
$flag_service->flag($flag, $media, $account);
}
else {
$flag_service->unflag($flag, $media, $account);
}