2017-05-23 3 views
0

Je devais avoir tous les vocabulaires de taxonomie disponibles pour filtrer, sans ajouter toutes les taxonomies une à la fois.Drupal change multi select pour cocher les cases sur les formes exposées ne fonctionne pas

Je l'ai fait en utilisant le Contenu: A des termes de taxonomie (Multiple) Filtre - qui se présente comme une liste de sélection multiple.

je devais changer la liste de sélection des cases à cocher, mais BEF na pas me permettre de faire que pour ce type de champ, donc je ne suit ...

function MYMODULE_form_alter(&$form, &$form_state, $form_id) { 

    if ($form_id == 'views_exposed_form') { 

     $options = $form['filter']['#options']; 
     unset($form['filter']); 

     foreach($options as $vocab => $terms) { 

     foreach ($terms as $key => $value) { 
      $newkey = $options[$vocab][$key]->option; 
      $termoptions[$vocab][key($newkey)] = $newkey[key($newkey)]; 
     } 
     $form[$vocab] = array(
      '#type' => 'checkboxes', 
      '#options' => $termoptions[$vocab], 
      '#title' => $vocab, 
      '#multiple' => TRUE, 

     ); 

     } 

    } 

} 

La forme exposée semble bon, mais ça ne marche pas.

Je pense que c'est parce que le nom de la requête est faux. Comme je l'ai divisé la hiérarchie dans des champs séparés, l'URL utilisée pour ressembler à

mysite.com/category?filter[]=123

il ressemble maintenant ...

mysite.com/category?Brand[123]=123

Alors theres à quel point Ive a obtenu, des idées comment je peux faire ce travail de forme exposée?

J'ai eu un coup de fouet à changer le gestionnaire de soumission views_exposed_form_submit mais je ne sais pas ce que je devrais changer.

+0

https://www.drupal.org/project/better_exposed_filters ce module faire pour vous –

+0

Salut, j'ai essayé BEF comme vous le suggérez, mais le tir fournir une option pour transformer ce filtre en cases à cocher – Collins

+0

comment savoir "il n'a pas fourni une option pour transformer ce filtre en cases à cocher" où vous trouvez des options pour ce –

Répondre

0

je mets à jour mes ans encore une fois pour plus claire vue la première étape d'exposer le filtre enter image description here

paramètres pour cette

enter image description here
cliquez sur le texte Paramètres puis
enter image description here
puis Gor pour bef
enter image description here
et le résultat est
enter image description here
espèrent-il sens maintenant

+0

Ouais c'est pas là, pas d'option pour la liste de contrôle, juste "Liste de sélection par défaut" – Collins

+0

le faire par étape, c'est pourquoi je joins la capture d'écran, il devrait y être –

+0

je vois votre capture d'écran qui est les paramètres par défaut pour la forme exposée définie comme exposée meilleurs filtres exposés –