3

これがこれを実装する正しい方法かどうかわからないので、助けていただければ幸いです。Drupal 8 で、現在のユーザーが作成したエンティティのみを表示するという条件で、カスタム コンテンツ エンティティを参照しようとしています。

基本的に CUSTOM ENTITY 1 -> CUSTOM ENTITY 2 (ユーザー作成)

ビューでこれを行う方法を見つけましたが、プログラムでこれを実現する方法を知りたいです。

私はすでにIDのリストを取得してドロップダウンとして表示することに成功しましたが、これは私が望むものではないことに注意してください。

参照を autocomplete として表示したいと思います。

これは私がこれまでに得たものです:

$fields['dishes'] = BaseFieldDefinition::create('entity_reference')
        ->setLabel(t('Dishes'))
        ->setDescription(t('Select the dishes to add  to this menu'))
        ->setSetting('target_type', 'dish')
        ->setSetting('handler', 'default')
        ->setTranslatable(TRUE)
        ->setCardinality(-1)
        ->setDisplayOptions('view', [
            'label' => 'hidden',
            'type' => 'entity_reference_label',
            'weight' => -1,
        ])
        ->setDisplayOptions('form', [
            'type' => 'entity_reference_autocomplete',
            'weight' => -1,
            'settings' => [
                'match_operator' => 'CONTAINS',
                'size' => '60',
                'autocomplete_type' => 'tags',
                'placeholder' => '',
            ],
        ])
        ->setDisplayConfigurable('form', FALSE)
        ->setDisplayConfigurable('view', TRUE);

これに条件を追加する方法はありますか? または、参照エンティティを取得するために Drupal が実行するクエリをカスタマイズしますか?

4

1 に答える 1