2017-09-06 3 views
0

Est-ce que quelqu'un sait comment limiter les suggestions de saisie semi-automatique des champs de liaison à seulement certains groupes - pas globalement, mais par instance de champ de liaison? J'ai presque trouvé une solution en personnalisant https://github.com/minnur/Alter-Entity-Autocomplete, mais ceci est global pour tous les autocompletes, et j'ai besoin d'obtenir l'instance de Link Field appelante en quelque sorte.Filtrer par groupe Drupal 8 Compléter automatiquement le lien

Répondre

0

Ceci est possible avec la forme de crochet alter:

function hook_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) { 
    // if $form_id == 'xyz' 
    $form['field_mylink']['widget'][0]['uri']['#selection_handler']="default:node"; 
    $form['field_mylink']['widget'][0]['uri']['#selection_settings']=[ 
    'target_bundles'=>['article'=>'article', 'page'=>'page'], //etc 
    ]; 

} 
0

J'ai écrit le module a contribué Drupal ci-dessous pour résoudre le problème:

Link Field Autocomplete Filter

Le module ajoute une configuration Lien de champ pour le filtrage les types de contenu autorisés dans le champ de saisie semi-automatique.

Vous pouvez installer le module manuellement avec le noyau Update Module drupal Manager (doit être activé) en utilisant le back-end Drupal: http://yourSite/admin/reports/updates/install et suivez les instructions.

En utilisant Drush, vous pouvez l'installer avec:

drush dl link_field_autocomplete_filter; // download 
drush en link_field_autocomplete_filter; // enable the module 

Vous pouvez également nous Composer pour télécharger le module:

composer require drupal/link_field_autocomplete_filter 

permettent simplement le module, et une série de cases à cocher (un pour chaque type de contenu) apparaîtra dans le formulaire de configuration de l'instance de champ Champ de liaison. Si vous n'en cochez aucune, tous les types de contenu apparaîtront sous forme de suggestions dans la saisie semi-automatique. Sinon, seuls ceux cochés apparaîtront.

+0

Bien que ce lien puisse répondre à la question, les réponses de lien seulement sont déconseillées sur Stack Overflow, vous pouvez améliorer cette réponse en prenant des parties vitales du lien et en l'insérant dans votre réponse, ceci assure que votre réponse est toujours lien est changé ou supprimé :) – WhatsThePoint

+0

Excusez-moi, mais je l'ai fait juste ça! Ce n'est pas une réponse de lien seulement! J'ai nommé le module Drupal et j'ai cité la fonction du module avec une description exacte! Oui, le lien pourrait changer, même si c'est très improbable. C'est pourquoi j'ai nommé le module. Dans ce cas, il est possible de google le nom du module. De même, si j'ai posté le code entier, la validité de la réponse pourrait changer dans le futur. – jmux

+0

en l'état votre réponse ne fournit aucune information si vous devenez invalide, ceci n'est pas considéré comme la meilleure pratique sur le débordement de pile – WhatsThePoint