Submitted by Aqwadon on
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 !
Je pense avec le #attributes
Permalien Soumis par Thomas.emerya le 2 Juin, 2014 - 19:02
Je pense avec le #attributes de ton select tu pourras y arriver cf https://api.drupal.org/api/drupal/developer%21topics%21forms_api_referen...
https://api.drupal.org/api/drupal/developer%21topics%21forms_api_referen...
Merci de ta réponse,
Permalien Soumis par Aqwadon le 4 Juin, 2014 - 14:42
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 ?
Oui tu as raisons à prioris
Permalien Soumis par Thomas.emerya le 4 Juin, 2014 - 18:25
Oui tu as raisons à prioris via la form api c'est pas possible, via les fonction de theme c'est possible en effet : http://stackoverflow.com/questions/9261224/adding-attribute-to-option-el... le module devel themer peut taider à voir ce qui est pris en compte au niveau surchage de template
super, oui, je n'ai pas le
Permalien Soumis par Aqwadon le 4 Juin, 2014 - 20:45
super, oui, je n'ai pas le réflexe Devel... Problème réglé. En fait j'avais un module qui prenait le dessus sur theme_select, je ne surchargeai pas la bonne. Merci de ton aide.