Je ne suis pas sûr que ce soit la bonne façon d'implémenter ceci, alors j'espère que vous pouvez m'aider. J'essaye de référencer une entité de contenu personnalisée dans Drupal 8 avec la condition que seules les entités créées par l'utilisateur courant devraient apparaître.drupal 8 BaseFieldDefinition entity_reference avec condition
Fondamentalement ENTITÉ CUSTOM 1 -> ENTITÉ PERSO.2 (créé par l'utilisateur)
J'ai trouvé une façon de le faire avec vue, mais je me demande comment atteindre cet objectif d'un programme.
Veuillez noter que j'ai déjà réussi à obtenir une liste d'identifiants et à l'afficher sous forme de liste déroulante, mais ce n'est pas ce que je veux.
Je voudrais montrer la référence comme saisie semi-automatique.
C'est ce que je suis arrivé à ce jour:
$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);
Est-il possible d'ajouter des conditions à cela? Ou personnaliser la requête que fait Drupal pour obtenir l'entité référencée?
Même si votre code fonctionne, sans expliquer ce que vous avez fait et votre raisonnement derrière cela ne constitue pas une réponse très solide. –
Il semble que vous utilisez la référence de vue, ce qui est la même que je fais, je me demandais s'il y avait un moyen d'interroger et d'injecter dans la saisie semi-automatique la valeur de ma requête au lieu d'utiliser des vues – soipo