Divs creados dinámicamente y javascript en Drupal

Events happening in the community are now at Drupal community events on www.drupal.org.
clau_bolson's picture

Trabajé bastante en Drupal 6 y 7 pero es el primer sitio que hago en Drupal 8. Y tengo que hacer un módulo especializado.
La idea es la siguiente: tengo para mostrar un string bastante complejo en formato json, que se decodifica como un array multinivel.

Lo que yo quisiera es: al hacer clic en cada una de las US aparecen sus datos a la derecha (Todos los datos ya están en el string, no hago una nueva consulta, nunca son más de 5 o 6 US y los datos son pocos)

DATOS GENERALES UNICOS

US1 |
US2 | DATOS US1
US3 |
US4 |

En un HTML común lo haría con javascript, un div para cada DATOS US inicialmente oculto, un hipervinculo en cada US que al hacerle clic muestre los datos correspondientes y oculte los demás.
Necesito que me indiquen o me orienten sobre como hacer esto en Drupal. Gracias!

Comments

Yo generaría la página desde

hatuhay's picture

Yo generaría la página desde Drupal con las Us y su texto y sólo jugaría con javascript para hacer un show/hide.
Tambien puedes enviar el json de detos através del drupalSettings de D8 y hacer operaciones un poco más complejas.

Gracias, ahí voy a investigar

clau_bolson's picture

Gracias, ahí voy a investigar DrupalSettings

Depende mucho donde existe el

weemondo's picture

Depende mucho donde existe el JSON y donde lo vas a mostrar. Tenes que mostrarlo en una sola pagina / todas algunas? El JSON viene de un servicio web / un campo en un node / lo guarda un administrador a traves del sistema?

Generalmente los pasos son los siguientes:

1 Pasa el JSON (decodificado) al template de un elemento en algun derivado de hook_preprocess

2 Generas el HTML en un twig template

3 Adjuntas el JS (attach JS) al elemento que contiene tu html.

Si el JSON viene de un autor o un servicio web, considera un bloque. Un buen tutorial debería mostrarte todo: definir un formulario para configuración (podes ingresar el JSON aca o un URL para conseguirlo), pasar la configuración al template, generar HTML en el template y probablamente agregar JS también.

Gracias por tu respuesta. El

clau_bolson's picture

Gracias por tu respuesta.
El JSON viene de un webservice que hice yo, lo puedo modificar si hace falta. La idea es que esté toda la info en una sola página, sin recargar.
No entendí lo del bloque, donde lo usarías? con que info?

Argentina

Group organizers

Group notifications

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

Hot content this week