Comment puis-je créer par programme une entrée sélectionnée dont les valeurs proviennent d'une clé étrangère à l'aide de l'API du formulaire?

StackOverflow https://stackoverflow.com/questions/19825511

Question

J'ai le tableau A qui a une clé étrangère faisant référence au tableau B. Je veux que mon formulaire associé au tableau A ait un champ de sélection dont les valeurs proviendront du tableau B. Je veux que le champ sélectionné ait des options avec des paires de valeurs clés provenant de Tableau B.

Le tableau A et le tableau B contiennent des entités de différents types.

Je recherche actuellement des solutions programmatiques qui utilisent une référence entité, mais sans avoir à passer par l'ajout d'un nouveau champ à partir de Administration > Structure > <entity type>.

Était-ce utile?

La solution

Je suis allé avec cette solution qui utilise entity_load puis ajoutant les entités chargées comme options au champ de sélection pour l'instant:

$foreign_entity_items = entity_load('foreign_entity');
$foreign_entity_options = array();
foreach ($foreign_entity_items as $foreign_entity_item) {
    $foreign_entity_options[$foreign_entity_item->some_field] = $foreign_entity_item->some_other_field;
}

$form['some_form_element'] = array(
    '#title' => t('Some title'),
    '#type' => 'select',
    '#required' => TRUE,
    '#options' => $foreign_entity_options
);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top