2010-06-15 7 views
4

J'ai un filtre de date que j'ai exposé sur ma vue. Je veux rendre l'interface plus conviviale et resserrer le look. Au lieu de sélectionner une date, je voudrais choisir parmi les options suivantes.Drupal Exposed Views Filtrer la date personnalisée

  • Le dernier jour
  • La semaine dernière
  • L'année dernière
  • Tous

Ce serait alors un filtre sur le champ de date. Est-ce possible? Comment iriez-vous faire cela?

Répondre

0

C'est possbile, mais vous devrez écrire votre propre module pour cela.

Ce module utiliserait la méthode appelée "Form Alter" pour modifier le formulaire. Essayez de commencer ici http://drupal.org/node/157253

6

La bonne façon de le faire est de modifier la forme d'un module personnalisé à l'aide hook_form_alter:

function YOURMODULE_form_alter(&$form, $form_state, $form_id) { 
    if ($form_id == 'views_exposed_form') { 
    $view = &$form_state['view']; 
    $display = &$form_state['display']; 
    if ($view->name == 'YOURVIEWNAME' && $display->id == 'YOURDISPLAYID') { 
     //Alter $form here, use dpm($form) to inspect it. 
    } 
    } 
} 

$form est un tableau décrivant la forme, à l'aide de Drupal Form API. Vous pouvez inspecter ce tableau à l'aide du module dpm du module Devel.

Questions connexes