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

Lista de comprobación

Estas en el tema de Lista de comprobación en el foro de Drupal en Foros del Web. Buenos días. Quiero crear una especie de checklist que el usuario vaya completando y con textareas para que vaya tomando notas pero no consigo averiguar ...
  #1 (permalink)  
Antiguo 14/06/2014, 02:16
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 5 meses
Puntos: 0
Lista de comprobación

Buenos días.

Quiero crear una especie de checklist que el usuario vaya completando y con textareas para que vaya tomando notas pero no consigo averiguar la forma de guardar la selecciones y los comentarios del usuario para que permanezcan incluso cuando cierra y vuelva a abrir sesión. También quiero saber como ofrecer el mismo checklist para todos los usuarios pero que a cada uno le aparezca sus selecciones.

Básicamente es saber como para cada usuario guardar sus estados de los checkbox y el texto de los textarea.

Gracias, saludos.
  #2 (permalink)  
Antiguo 14/06/2014, 15:00
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 2 meses
Puntos: 22
Respuesta: Lista de comprobación

Creas un tipo de contenido llamado checklist. Le agregas los campos que quieres tal como dices, creas tus texarea y checkbox ya que viene con el core de drupal 7. De esta forma a todos los usuarios les saldrá el checklist ya que este es el tipo de contenido. Luego creas una vista para que le aparezca las opciones seleccionadas y listo
  #3 (permalink)  
Antiguo 15/06/2014, 08:59
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Lista de comprobación

Creo que no te he entendido bien, sobretodo la parte de la vista.

Yo no quiero que aparezcan las opciones seleccionadas solo, me refiero por ejemplo a crear como una lista de la compra donde el usuario marque los objetos ya comprados pero que siempre le aparezcan todos y vaya marcando con un tick los que ya tenga y que cada usuario de la aplicación le aparezca la misma lista pero cada uno evidentemente con sus ticks diferentes.

Lo he intentado con la localstorage para que cada usuario tenga sus marcas distintas pero quiero que se queden fijas siempre y no me vale esta memoria, no se si guardandolas en servidor pero no se como hacerlo para cada usuario.
  #4 (permalink)  
Antiguo 16/06/2014, 02:47
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: Lista de comprobación

Creo que no debés usar localstorage, lo mejor es almacenar los datos en la base de datos de Drupal.

El módulo Profile te servirá, te recomiendo que lo instales y pruebes añadir campos al perfil del usuario, que verá cada usuario que esté en tu web y que podrá editar sin problemas.

Por supuesto que cada valor que guarde el usuario será solo para él mismo.

Saludos.
  #5 (permalink)  
Antiguo 17/06/2014, 01:55
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Lista de comprobación

He estado probando el módulo y no consigo hacer lo que quiero.

Mi idea es un contenido con checkbox y textarea igual para todos los usuarios, luego que cada uno marque las casillas que quiera e introduzca texto y que se guarde en una base de datos (me han aconsejado diferente a la de drupal) con las selecciones y los textos y el ususario y luego se recupere de la base de datos.

Pero la idea es que al usuario siempre le aparezca esa checklist y los textarea.

No se muy bien como explicarlo, como una especie formulario estático que se envíe y se recupere de la base de datos pero que no se muestren los datos en otra página o que se muestren los valores seleccionados como texto sino que simplemente se muestre el formulario siempre con los campos seleccionados o rellenos en el caso de los textarea.

Sigo con mi idea de la lista de la compra, un contenido que siempre aparezca la lista con la casilla de selección al lado y un textarea por cada item de la checklist.

Gracias por la ayuda, saludos.
  #6 (permalink)  
Antiguo 17/06/2014, 03:46
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: Lista de comprobación

Yo creo que tenés que ir paso a paso haciendo las cosas.

Si te recomiendan que guardes esos campos en una base de datos diferente a la de Drupal, entonces tendrías que hacer un módulo personalizado y crear formularios y usar la api de Drupal para guardarlos en otro sitio. Viendo que no tenés muchos conocimientos sobre backend en Drupal no te lo recomiendo. Entonces tenés que plantearte guardardarlos en la misma base de datos de Drupal, así podés usar sus componentes y evitar tener que programar de más al vicio.

Luego, vos podés usar Profile para crear tu "formulario". Al final es un formulario que el usuario rellena con sus campos y luego se recuperan por si los quiere editar.
Te doy un ejemplo, en este site uno puede editar su avatar y muchas cosas más, esas cosas las veo en en mi perfil y las puedo editar entrando en una url X, esa url X tendrá el formulario que mencionás con los campos sacados de la base de datos, y podrás editarlos a tu gusto. Básicamente es lo que vos querés que se haga.

Te podés ayudar de este módulo para editar el perfil, quizás te sirva: https://drupal.org/project/edit_profile

Saludos.
  #7 (permalink)  
Antiguo 17/06/2014, 04:43
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Lista de comprobación

Gracias Mario por las respuestas, pero ese modulo tampoco me sirve. Voy a poner un ejemplo claro:

Yo quiero tener en mi web varias páginas que se vean de esta forma:

Código HTML:


<input type="checkbox" id="checkbox1">Manzanas<br/>
<textarea id="rec1" style="margin-bottom: 4px; width: 250px; height: 20px"></textarea><br />

<input type="checkbox" id="checkbox2">Platanos<br/>

<textarea id="rec2" style="margin-bottom: 4px; width: 250px; height: 20px"></textarea><br />

<input type="checkbox" id="checkbox3">Naranjas<br/>

<textarea id="rec3" style="margin-bottom: 4px; width: 250px; height: 20px"></textarea><br />

Otra página igual pero con carnes, otra con pescado...y las mismas listas para todos lo único que cada uno marcará cosas distintas y escribirá distinto en el textarea (el textarea es para escribir cantidad, marca o lo que se quiera).

Cuando el usuario seleccione y escriba que pulse un botón y se guarde en la BD para él para que cuando refresque la página, se salga o vuelva a entrar o lo que sea siga su página igual.

Como digo lo he conseguido escribiendo código en cuerpos de páginas normales con localStorage pero quiero que sea con BD para que se pueda recuperar el estado de los checkbox y el texto siempre.
¿Como lo hago, alguna forma con módulos o escribiendo código directamente?

Saludos y gracias de nuevo.
  #8 (permalink)  
Antiguo 17/06/2014, 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: Lista de comprobación

Yo creo que tenés que investigar un poco más el módulo profile hasta que veas que te sirve para lo que necesitás.

El módulo profile te permite añadir campos para los usuarios, y que ellos mismos puedan poner los valores que ellos quieran. Obviamente se guardan en la base de datos.

Que se llame profile y que no salga en pantalla como vos necesites no quiere decir que no sirva. En el módulo profile podés agregar un campo que se llame "Naranjas" y que sea de tipo textarea, y el usuario, en su página de editar perfil, podrá ver ese textarea y que ponga lo que quiera. Podés usar la página de editar perfil mostrando solo lo que vos necesitas para que se adecue a tus necesidades. Es más fácil eso que hacer un módulo de cero.

En Drupal este tipo de casos le ha ocurrido a muchas personas, y siempre hay una solución para eso. Te recomiendo que tires de ahí y que mires cómo crear nuevos campos en el perfil. Aunque se llamen "Naranjas" o "Manzanas", son campos que serán único para cada usuario, así que perfectamente podés reutilizar esa funcionalidad.

Este enlace te va a servir: https://drupal.org/node/23710

Saludos.
  #9 (permalink)  
Antiguo 18/06/2014, 02:04
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Lista de comprobación

Tenias razón, poco a poco voy consiguiendo ver lo que quiero con el módulo Profile, pero ahora tengo un problema que no se resolver.

He usado el módulo "field_collection" para agrupar el campo del nombre con el checkbox y el textarea como si fueran un solo campo.

Como bien dices, a mi me interesa que siempre el usuario vea la página de editar perfil e investigando encontré el módulo "editablefields" que da la opción de que los campos sean editables directamente desde el nodo sin acceder a la página de editar. Pero aquí está mi problema: Puedo editar todos los campos pero me aparece un botón de guardar por cada campo y yo lo que quiero es que solo aparezca uno para cada par checkbox-textarea, es decir, para cada fieldcollection que he creado.

No se me ocurre como hacerlo, en la página de editar si se ve como yo quiero con solo un botón pero no sé como trabajar con esa página porque no es un nodo y no sale como opción para panels o views. ¿Alguna idea?

Gracias de antemano.
  #10 (permalink)  
Antiguo 18/06/2014, 03:19
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: Lista de comprobación

Ese módulo no te sirve entonces. No hay manera de que puedas amoldar el diseño para que tener un botón por campo te sirva?

Lo digo porque es muy difícil cambiar eso, se instalan módulos para su funcionalidad, pero a veces no termina siendo como queremos :(
  #11 (permalink)  
Antiguo 18/06/2014, 03:55
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Lista de comprobación

Es que me parece innecesario un botón para guardar la selección del checkbox y otro para guardar el contenido del checkarea, ya que están relacionados que solo haya uno sino se me llena la página de botones.

Como digo en la página de editar el field_collection se ve perfecto, un botón de guardar para los dos. ¿No habría forma de modificar el código para usar solo un botón de guardar que guardara los dos campos igual que hace edit node?.

Saludos.
  #12 (permalink)  
Antiguo 18/06/2014, 10:52
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: Lista de comprobación

Si claro, podés modificar el fichero .module del módulo editablefields. Pero creo que eso te tomará mucho tiempo.

Busca ese fichero en la carpeta sites/all/modules/editablefields y mira si podés hacer algo. Pero la modificación de módulos no es una buena práctica, ya que si te toca actualizar ese módulo, perderías todos los cambios que hiciste en él.

Saludos.

Etiquetas: form, lista
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 11:23.