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

Campos en drupal

Estas en el tema de Campos en drupal en el foro de Drupal en Foros del Web. Hola a tod@s! Este es mi primer post!!!!! Al grano! Estoy utilizando Drupal 7. Tengo una base de datos en un Excel. Quise intentar importar ...
  #1 (permalink)  
Antiguo 09/05/2012, 06:56
 
Fecha de Ingreso: mayo-2012
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Campos en drupal

Hola a tod@s! Este es mi primer post!!!!!

Al grano! Estoy utilizando Drupal 7. Tengo una base de datos en un Excel. Quise intentar importar los datos a la tabla Users con Navicat, pero mi sorpresa es que Drupal crea una tabla por cada campo¿????

Como puedo importar mi "base de datos"? Me parece un tanto raro que no exista un módulo para Drupal 7 para dicho fin.

Espero que me ayudeis!!! saludos webs!!!!
  #2 (permalink)  
Antiguo 09/05/2012, 08:05
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Campos en drupal

No puedo dejar pasar la pergunta obvia y tonta: Los campos son del mismo tipo? no conozco navicat, recorda que la tabla users tiene el campo password que usa un hash de encriptacion que no tiene nada que ver con la version 6, de donde sacaste esa tabla, te convendria primero creo pasarlo a .sql y luego importarlo a tu tabla...

PD: Si no encuentras el modulo necesario es por que estas inventando algo raro o a nadie le importa hacerlo de esa forma. Quizas sea el momento de que lo hagas tu y lo compartas.

Saludos.
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 09/05/2012, 08:57
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 20 años, 6 meses
Puntos: 8
Respuesta: Campos en drupal

Sugiero que primero crees los campos en Drupal. Como dijiste para cada campo existen dos tablas.

Generalmente tienen esta estructura

field_data_[campo] y field_revision_[campo] y sabiendo estas estructuras, recién crea consultas SQL para insertar los datos.

Saludos.
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 09/05/2012, 10:18
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Campos en drupal

Cita:
Iniciado por braulito Ver Mensaje
Sugiero que primero crees los campos en Drupal. Como dijiste para cada campo existen dos tablas.

Generalmente tienen esta estructura

field_data_[campo] y field_revision_[campo] y sabiendo estas estructuras, recién crea consultas SQL para insertar los datos.

Saludos.
Te sugiero antes de dar una respuesta al aire, primero leas la premisa, estamos hablando de la tabla Users, al margen de que es una locura crear tablas así por que si como lo intentas recomendar, ya que no son independientes, tienen relación con otras tablas... Y esa las crea Drupal son parte del modulo core.
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 09/05/2012, 10:45
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 20 años, 6 meses
Puntos: 8
Respuesta: Campos en drupal

En mi sugerencia no he dicho que cree manualmente las tablas para los campos, sino que use el mismo core para añadir campos, esto es en /admin/config/people/accounts/fields, por eso dije "que crees los campos en Drupal".

Después que ya tenga creados los campos, puede encontrar la estructura de tablas en la base de datos que tienen la estructura que ya mencioné antes. Las mencioné para reconocerlas de las demás.

Según esas tablas se puede generar sus consultas SQL para importar los datos a esas tablas. Obviamente la consulta debería tener las relaciones correspondientes, pero es algo que no nos vamos a meter por aca.

Sólo para terminar, he usado este método para importar usuarios de Xoops a Drupal y de Wordpress a Drupal. Con las consultas correctas sale todo bien. Eso si un backup antes por si las moscas.
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 09/05/2012, 16:57
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Campos en drupal

Bien por la correccion, pero sigo sin entender, a que viene todo esto, si se desea importar los usuarios, supongo que sera para ser usados como usuarios, entonces no le veo sentido crear mas campos... A menos que sea extrictamente necesario por algun motivo en particular.

A los usuarios los podes importar hasta de un cvs hecho manualmente, no tiene nada que ver de donde vengan. Lo importante es la estructura de la tabla el hash de encriptacion que usa el password. http://api.drupal.org/api/drupal/inc...ssword_crypt/7

A menos que sean 10 usuarios manualmente le podes ir cambiando el password, pero si son 10,000 o mas que harias?
__________________
Drupal Argentina
  #7 (permalink)  
Antiguo 10/05/2012, 06:45
 
Fecha de Ingreso: mayo-2012
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Campos en drupal

Los campos si son del mismo tipo.
¿Para que crear más campos? una pregunta un tanto absurda pero te lo explico.
En mi base de datos guardo datos como: Domicilio, email, foto, etc...

Lo que quiero es importar toda la información de mi base de datos, ya sea csv o una bd en usuarios de drupal.

Alguna idea?

Saludos y gracias por los comentarios!!
  #8 (permalink)  
Antiguo 10/05/2012, 12:05
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Campos en drupal

Es super facil, pero tenes dos opciones antes que nada:

1- Con un modulo, crear la nueva tabla donde tendras los datos adicionales de cada usuario, lease "domicilio", "foto", etc.
2- Creas la tabla a mano en tu base de datos, esta es la forma mas rapida.

Apartir de ahi, creas tu propio modulo y exportas el CSV y metes los datos en la tabla "users" y luego lo adicional en la nueva tabla que vos hayas creado.

Saludos.
  #9 (permalink)  
Antiguo 11/05/2012, 00:32
 
Fecha de Ingreso: mayo-2012
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Campos en drupal

Gracias NUCKLEAR por tu ayuda, aun así necesito unos consejos.

Según tus indicaciones tengo que hacer:
-Crear una tabla manual, por ejemplo "tb_datos_users" con los campos a guardar ("domicilio", "dni","teléfono"...) pero luego como se vincula con la tabla users?

Creo que se vincula por un UID? pero como sabe drupal que esos campos por ejemplo a la hora de crear un usuario desde el login de la web guarde ahí los campos?



Gracias de antemano!!!
  #10 (permalink)  
Antiguo 11/05/2012, 04:51
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Campos en drupal

En la tabla tb_datos_users tenes que poner, aparte de lo que dijiste, el id del usuario al que corresponden.

Drupal no va a saber mucho sobre esta tarea, puesto que la vas a hacer vos programando nada mas. Tenes que hacer un modulo y montarte un formulario en el que puedas importar el fichero CSV y puedas mapearlo a tu gusto.

No tenes que crear un usuario desde Drupal y mapearlo luego con el CSV, porque ahi, si o si, vas a tener inconsistencias. No mezcles las cosas, si vos creas usuarios con Drupal, entonces asignales los valores a mano.
Si tenes miles de usuarios para crear desde un CSV, no crees miles de usuarios con Drupal, crea los usuarios usando un modulo y la API que te da toda esa funcionalidad, si no el trabajo es el mismo, crear mil usuarios y luego el CSV te queda super mal.

Ahora bien, en caso de que vos contemples la posibilidad de crear usuarios desde un formulario de registro, entonces lo que tenes que hacer es usar el modulo "profile", y crear desde ahi los campos domicilio, dni, telefono, etc. Luego de eso tendras que hacer tu modulo, tal como mencione antes, y tirar de las tablas del modulo profile, asi lo que hagas va a ser valido totalmente.

Saludos.
  #11 (permalink)  
Antiguo 11/05/2012, 11:10
 
Fecha de Ingreso: mayo-2012
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Campos en drupal

No hay ningún modulo que facilite esta labor? algo como Profiles? Me imagino que no seré el único que quiere hacer esto. Es lo habitual cuando cambias de plataforma web

Saludos!!!! Se aceptan más ideas!
  #12 (permalink)  
Antiguo 11/05/2012, 13:43
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Campos en drupal

No se como vaya este modulo, pero es lo mejor que he visto:

http://drupal.org/project/user_import

De todos modos Drupal es un CMS, pero que sea un CMS no quiere decir que exista un modulo exclusivamente para CUALQUIER necesidad de un usuario. Lo tuyo es muy especifico, es dificil encontrar algo que importe justo lo que vos queres y en las tablas que vos queres. Aparte migrar usuarios de una web a otra no es algo que se hace asi nomas, toca currar, y creo que es tu caso.

Saludos.
  #13 (permalink)  
Antiguo 12/05/2012, 05:51
 
Fecha de Ingreso: mayo-2012
Ubicación: Madrid
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Campos en drupal

El módulo Import solo es para Drupal 6. Una pena!
Voy a probar el módulo Feeds que puede importar registros de un csv, pero no se como repartirá cada campo para users.

Si no tocará realizar un script!

Saludos!!!

Etiquetas: campos
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 21:10.