2010-01-06 5 views

Répondre

0

J'ai trouvé une solution à cela, et c'est assez stupide.

Je fini par mettre cela dans un module personnalisé, et a fini à la fois enlever l'étiquette et la mise également le nombre d'années affichées en fonction des données qui se trouve dans la base de données:

function modulename_form_views_exposed_form_alter(&$form, $form_state) { 
    if($form['#id'] == 'theformid') { 
     // Remove the label as the first element from the date select 
     $form['date_filter']['value']['#date_label_position'] = 'none'; 

     // Find the minimum year from all of the published news nodes 
     $date = db_fetch_array(
        db_query(" 
          SELECT YEAR(MIN(d.field_date_value)) as 'min' 
          FROM {content_field_date} d 
          INNER JOIN {node} n 
           ON n.nid = d.nid 
          WHERE n.type = 'news' AND n.status = 1") 
       ); 

     // Set the new year range in the filter 
     $new_min = date('Y') - $date['min']; 
     $form['date_filter']['value']['#date_year_range'] = "-$new_min:+0"; 
    } 
} 
0

Sélectionnez une année dans la liste déroulante "Valeur absolue" lors de la configuration de votre filtre de date. Cette année sera alors affichée à la place de -Year. Je doute que vous pouvez réellement supprimer -Year de la boîte de sélection exposée sauf si vous faites des modifications/ajouts de code source.

+0

Le problème est que nous voulons l'année en cours à sélectionner. J'ai finalement trouvé une solution, je l'afficherai ci-dessous. – Karl

Questions connexes