2013-06-26 6 views
0

J'ai un type de contenu Société et 2 types de taxonomie: produit et pays. mon contenu a 1 champ pour chaque taxonomie. Maintenant, je dois créer une vue avec des filtres exposés pour ce type de contenu, filtrant par taxinomie donc je vais avoir un bloc avec 2 dropdown 1. Pays 2. Produit Mon problème maintenant: la première liste déroulante ne renverra pas tous les termes de taxonomie, mais seulement ceux qui ont un noeud, et le second devrait me donner le produit pour la société de la première liste déroulante .... exempledrupal 7 nœuds de filtrage par 2 taxinomiques

1 pays: a, B, C 2 produit: P1, P2, P3 Société 1: pays A Produit P2 P3 Société 2: pays B produit P1 P3 sur le bloc, j'aurai: fir st Drop Down: AB pays seconde chute vers le bas si je sélectionne le pays A produit P2 P3 et je vois la société qui sont dans ce pays avec les produits que

Je ne peux pas faire un vocaboulary pour tous, les produits sont 3 société sont nombreuses et hiérarchie structurée

+0

Quel code avez-vous essayé? – chrislondon

+0

Essayé beaucoup mais sans résultats .... je dois créer un module avec appel sql? – user2524861

Répondre

0

Vous pouvez le faire avec un peu SQL et Javascript:

  1. Dans votre module écrire une requête sélectionner tous les pays qui sont affectés à des noeuds de type société a rejoint (INNER JOIN) avec tous les produits pour ces nœuds.
  2. Ajoutez les résultats en tant que paramètre Drupal (avec drupal_add_js (array ('my_module' $ => data), 'setting')). La variable $ data doit être un tableau associatif avec des villes comme clés et le produit pour chaque ville (à partir des résultats de la requête) en tant que valeurs.
  3. Dans le Javascript remplir le premier menu déroulant avec toutes les clés (Pays) de la variable dans Drupal.settings et le second menu déroulant avec toutes les valeurs (produits).
  4. Créez un événement qui remplit la liste déroulante du produit lorsque vous modifiez la valeur de la liste déroulante du comté.
Questions connexes