Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/07/2012, 00:53
Avatar de MarioAraque
MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 7 meses
Puntos: 265
Respuesta: Creación de módulos con drupal 7

Pienso que lo mas importante de este tipo de ejercicios no es que los resuelvas y funcionen en tu Drupal, si no que sepas, casi por inercia, que tenes que hacer para llegar al punto principal del problema.

Sobre el punto 1, supongo que crear el modulo lo sabes hacer verdad? Dando por hecho que si, lo creas y usas el hook_menu() para crear una nueva pestaña. Lo que tenes que ver es como las crea el modulo USER, y copiar la ruta y agregar la de user_tab.
No tenes que preocuparte de la ubicacion, ya que si vos pones la ruta correcta (/admin/people/), Drupal solito te lo va a poner donde corresponde.
Sinceramente no recuerdo mucho el funcionamiento del hook_menu(), pero creo que vos le asignas la url, los permisos y luego un callback, que viene a ser lo que ejecutas cuando entras a esa URL. En el callback haces una llamada a la funcion theme (dando por hecha que la conoces), y podes pintar lo que te haga falta en un fichero .tpl. Para obtener los menus creo que te puede servir esta funcion: http://api.drupal.org/api/drupal/mod...on/menu_load/7


Sobre el punto 2, tenes que usar el hook_form_alter (http://api.drupal.org/api/drupal/mod...k_form_alter/7) , ahi obtenes el formulario que vas a mostrar en pantalla y podes "alterarlo" a tu gusto. Debes agregar al formulario un validador, si no me equivoco es de la siguiente forma:

Código PHP:
Ver original
  1. $form[#validate][] = 'nombre_de_tu_funcion';

En tu funcion validas los campos y listo, la funcion deberia tener esta forma:

Código PHP:
Ver original
  1. function nombre_de_tu_funcion($form_id, $form_values) {
  2. //TODO
  3. }


El punto 3 tiene mucho de similar con el punto 1, debes usar el hook_menu, para crear las dos nuevas paginas, aca deberias tener bien claro como usar la funcion theme() y el hook_theme() para mostrar un tpl ya que solo son páginas con texto. Lo del formulario seguro sea de un ejercicio anterior, pero no tenes mas que usar el hook_form_alter y redireccionar con drupal_goto().


Finalmente, el punto 4
- La funcion de la api que valida el mail es esta, supongo: http://api.drupal.org/api/drupal/inc...mail_address/7
- Para comprobar el pais seleccionado y validarlo solo tenes que usar, como dije antes, el hook_form_alter y validarlo. No es dificil en verdad.


Espero que te haya servido.

Saludos.