J'essaie d'apprendre à créer un filtre exposé personnalisé pour un module contribué (sélectionnez ou autre). J'ai trouvé ce tutoriel pour Drupal 6 mais le code ne semble pas fonctionner immédiatement sur Drupal 7.
J'ai également essayé de regarder le code dans le module de sélection hiérarchique, mais il semble être beaucoup plus complexe que ce que j'essaie de faire.
Quelqu'un a-t-il des suggestions de tutoriels ou de modules qui implémentent des filtres exposés personnalisés d'une manière relativement simple (par exemple, pas un grand nombre de gestionnaires personnalisés comme le module de localisation) que je peux apprendre?
Je rôdais sur Internet en essayant de trouver la réponse à la même question et voici ce que j'ai en résultat:
Implémentez plusieurs hooks dans votre module personnalisé. Remplacez
modulename
etfiltername
par vos noms réels.Créez un dossier nommé à l'
inc
intérieur de votre dossier de module et créez un fichier nommé àmodulename_handler_filter_filtername.inc
cet endroit (voir le code ci-dessus pour une référence implicite à ce fichier). N'oubliez pas d'utiliser les noms de module et de filtre réels.Collez le code suivant dans ce
modulename_handler_filter_filtername.inc
fichier. Le code que j'ai utilisé pour cet exemple crée un ensemble de boutons radio qui présentent des années. Vous pouvez donc filtrer les nœuds par année de création, en utilisant uniquement les années au cours desquelles les nœuds ont été créés.C'est tout ce dont vous avez besoin pour que le filtre exposé personnalisé le plus simple fonctionne!
Notez que l'utilisation
FROM_UNIXTIME
en condition deSELECT
requête peut ralentir votre base de données.la source
$this->query->add_where($this->options['group'], $real_field_name, $this->value['value'], $this->operator);
. Il peut être trouvé dans le lien ci-dessus.la source