Ajouter programmatiquement des cases à cocher à un champ personnalisé dans drupal 8

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Salut à tous

J'ai créé un champ personnalisé avec plusieurs éléments. Il y a une case à cocher et trois text_format. Mon module "triple_field" fonctionne bien et toutes les valeurs sont stockées dans une table unique de la base de données.

J'aimerais ajouter en supplément des cases à cocher avec les valeurs sont "A, B, C". Dans le fichier TripleFieldWidget.php j'ai donc mis :

$element['solution'] = [
    '#type' => 'checkboxes',
    '#title' => t('Solution'),
    '#options' => ['a' => 'A', 'b' => 'B', 'c' => 'C'],
    '#required' => TRUE,
];

Mais je ne sais pas quoi mettre dans les fonctions ci-dessous de mon fichier TripleField.php pour enregistrer les valeurs de mes cases à cocher en tant que chaîne unique dans une colonne de la table de la base de données.

public static function propertyDefinitions(StorageDefinition $storage) {
    $properties = [];

    // ---

    return $properties;
}

public static function schema(StorageDefinition $storage) {
    $columns = [];

    // ---

    return columns;
}

public function isEmpty() {
    // ---
}

Merci de votre aide

Forum : 
Version de Drupal : 
Tags :