Posted by clau_bolson on August 8, 2018 at 4:46pm
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
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.
Diseño Web
Gracias, ahí voy a investigar
Gracias, ahí voy a investigar DrupalSettings
Depende mucho donde existe el
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
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?