[Résolu] [Résolu] ajouter des attributs aux options d'un filtre exposé

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.

Bonjour à tous,

je cherche un moyen d'ajouter des attributs spécifiques aux options du select d'un filtre exposé...

je m'explique... J'ai créé un module utilisant hook_form_alter

function cef_form_alter(&$form, &$form_state, $form_id){
  if ($form_id == 'views_exposed_form' && $form['#id'] == 'views-exposed-form-view-page'){
    $form['field'] = array(
      '#type' => 'select',
      '#options' => array('All' => '- All -', 0 => 'A', 1 => 'B', 2 => 'C'),
      '#default_value' => 'All',
    );
  }  
}

j'arrive à ca, normal...

<select id="edit-field" class="form-select" name="field">
<option selected="selected" value="All">- All -</option>
<option value="0">A</option>
<option value="1">B</option>
<option value="2">C</option>
</select>

voilà ce à quoi je voudrais arriver... Chaque option doit avoir son attribut "data-icon"

<option value="0" data-icon="image-A.png">A</option>
<option value="1" data-icon="image-B.png">B</option>
<option value="2" data-icon="image-C.png">C</option>

Le but final étant d'utiliser le code jquery (http://www.htmldrive.net/items/show/749/Image-Select-Elements-with-jQuer...) pour créer une liste déroulante avec des images dedans...

J'ai passé pas mal de temps sur différents sites, je n'ai rien trouvé pour ajouter cet attribut, il doit pourtant bien y avoir un moyen, mais peut être pas comme ça...
si quelqu'un peut m'aider... merci d'avance !

Forum : 
Version de Drupal : 

Merci de ta réponse, malheureusement ça ne semble pas fonctionner... #attributes permet d'ajouter des attributs au select, pas aux options qu'il y a dedans :(
J'ai un peu avancé entre temps. J'ai trouvé ça : https://drupal.org/node/431950
J'ai donc essayé de surcharger theme_select en créant montheme_select et myform_select_options pour modifier la sortie de chaque option. A priori, ça devrait marcher, mais il doit y avoir une subtilité qui m'échappe, ma fonction surchargée (montheme_select) n'est jamais appelée !
As tu une idée sur le sujet ?