Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Creación de módulos con drupal 7

Estas en el tema de Creación de módulos con drupal 7 en el foro de Drupal en Foros del Web. Buenas Mi nombre es Lucía y estoy estudiando drupal 7, voy por el nivel avanzado en esta parte tengo poca experiencia pero me gustarían que ...
  #1 (permalink)  
Antiguo 30/07/2012, 15:45
 
Fecha de Ingreso: enero-2012
Mensajes: 1
Antigüedad: 12 años, 3 meses
Puntos: 0
Creación de módulos con drupal 7

Buenas

Mi nombre es Lucía y estoy estudiando drupal 7, voy por el nivel avanzado en esta parte tengo poca experiencia pero me gustarían que me ayudarán en una serie de ejercicios en los que me supera, y no entiendo, gracias.

Son los siguientes

1º)Creación de pestañas en otro módulo.
En esta actividad vamos a crear una nueva pestaña dentro de:

Administración >> Personas

Por defecto encontraremos dos pestañas, registradas por el módulo user del núcleo de Drupal:

Lista (/admin/people/people)
Permisos (/admin/people/permissions)

Localiza en el módulo user (archivo user.module) el registro de las páginas mencionadas (hook_menu()). Crea en el módulo Menu Forcontu una nueva pestaña después de las pestañas indicadas, llamada "New tab for users" ("nueva pestaña para usuarios"), con URL user_tab.

La nueva pestaña mostrará el siguiente contenido:

Un listado con todos los menús del sitio.
Un listado con los enlaces del menú principal.

Comprueba accediendo a Administración >> Personas, que la nueva pestaña se muestra adecuadamente y es totalmente funcional.

2º)Validación de la contraseña
Añade a la función de validación de la Actividad las siguientes condiciones:

El nombre de usuario debe tener entre 6 y 15 caracteres (ambos inclusive). El nombre de usuario sólo puede contener caracteres alfanuméricos (a-z,A-Z,0-9). Además, no podrá empezar por un número.
La contraseña tendrá que tener entre 5 y 10 caracteres (ambos inclusive). La contraseña se tiene que componer al menos de una letra en mayúsculas, una letra en minúsculas, un número y un carácter no alfanumérico (por ejemplo un punto o una coma).

3º)Haciendo uso de la implementación de hook_menu() del módulo Forms Forcontu,

registra dos nuevas páginas con las URL destino/spain y destino/otros. Muestra un mensaje de texto en cada página.

Modifica la función de envío del formulario forms_forcontu/form3 para que, si el usuario ha seleccionado España en el listado de países, sea redirigido a la página destino/spain. En cualquier otro caso el usuario será redirigido a la página destino/otros.


4º)La función de validación


El correo electrónico es válido. Localiza una función en la API de Drupal que valide el correo electrónico.
El país seleccionado tiene que empezar por vocal (tanto en mayúscula como en minúscula).
Comprueba el funcionamiento de la validación enviando el formulario.

Son las dudas prioritarias que me corren prisa saber , pero hay muchas más y necesito vuestra ayuda.

Cordiales saludos

mi correo es [email protected]
  #2 (permalink)  
Antiguo 31/07/2012, 00:53
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 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.

Etiquetas: contenido, creación, página
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:02.