Form alter trick: Form alter views exposed forms

Posted by: 
Dominique De Cooman

Ons voorbeeld: we proberen de standaardwaarde van een filter op een bepaalde week te zetten

Ik probeerde de standaardwaarde van uw exposed filter in te stellen in:

<?php
$form
['week']['#default_value'];
?>

Dat werkte niet.
In get forms dient u de $form_state['input']['week'] in te stellen. Daarnaast moet u ervoor zorgen dat de waarde nog niet verstuurd wordt, dus controleer op $_GET['week'] om de echte waarde te krijgen.

Hier is een voorbeeld van een code

<?php
/**
 * Implementation of hook_form_alter()
 */
function boek_top100_form_alter(&$form, &$form_state$form_id) {
  
//Sets the default top 100 week ie. the latest
  
if ($form_id == 'views_exposed_form' && arg(0) == 'top100') {
    
$result db_result(db_query("SELECT week FROM {boek_top100} ORDER BY id DESC LIMIT 1"));

    if (
$_GET['week'] == '') {
      
$form_state['input']['week'] = $result;
    }
  }
}
?>

Reactie toevoegen