Agregando búsquedas de edad por rango en CCK - II

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Gente ,les quería comentar que finalmente pude hacer la búsqueda por rangos, hice un modulo (creo que muy feo x lo poco que conozco de la metodología de desarrollo que impone la gente de Drupal). También tengan en cuenta que es el primer código en PHP que escribo en mi vida! Vendo del mundo de Smalltalk, asi que imaginense la repulsión que me genera este código!

La idea fue setearle automáticamente un rango el cual tiene una lista de valores que el usuario puede seleccionar.

Les quería preguntar algo, hay alguna forma de ocultar un campo en un form? Dado que el campo que autoseteo aparece visible para los usuarios!

Acá les dejo el código del módulo:

<?php
function ageRangeSearch_form_alter($form_id, &$form) {
 
  
$nombreCampoFechaNacimiento = 'field_natta';
$nombreCampoRangoDeEdadTexto = 'field_text_0';
  
   if (
$form_id == 'uprofile_node_form') {
     
dprint_r(&$form);
     
$today = time();
      
$date_parts = &$form['#post'][$nombreCampoFechaNacimiento][0]['value'];
       
$year_diff = date("Y") - ($date_parts['year']);
       
$month_diff = date("m") - ($date_parts['mon']);
       
$day_diff = date("d") - ($date_parts['day']);
     
           if (
$month_diff < 0)
             
$year_diff--;
            elseif (
$month_diff == 0 && $day_diff < 0)
           
$year_diff--;
       
       print
'Edad Calculada -> ' . $year_diff . '<br>';

       
$age = $year_diff;
    
$rangoDeEdad = '';
      
       if (
$age <= 15) {
      
          
$rangoDeEdad = '0-15';
      
       } else {
      
           if (
$age <= 20) {
      
              
$rangoDeEdad = '16-20';
     
           } else {
      
               if (
$age <= 25) {
      
                  
$rangoDeEdad = '21-25';
             
               } else {
      
      
                   if (
$age <= 30) {
          
                      
$rangoDeEdad = '26-30';
             
                   } else {
      
                       if (
$age <= 40) {
                  
                          
$rangoDeEdad = '31-40';
     
                       } else {
              
                           if (
$age <= 50) {
      
                              
$rangoDeEdad = '41-50';
                                 
                           } else {
      
                              
$rangoDeEdad = '51-100';
                         }
     
                       }
                  }
              }
          }
     }
     
      
$form['#post'][$nombreCampoRangoDeEdadTexto] = array('key' => t($rangoDeEdad));
}
// Cierro el if.
}
?>

Saludos.

Argentina

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: