Cómo obtener datos de twig para un script de JS
Estoy tratando de obtener datos para un script de JS
que es un modal que muestra los datos contenidos en un objeto Folder
.
Creé un controlador
para mostrar el objeto Folder
en una vista de twig
.
En mi vista de twig
puedo listar cada elemento hijo (entidad) de Folder
sin ningún problema:
bars, bars, quxes
(tableros, categorías, elementos)
El objeto Folder
se muestra como una tarjeta HTML con pestañas para los elementos secundarios:
bars, bars, quxes
(tableros, categorías, elementos)
En la pestaña Boards
tengo un for loop
que muestra los elementos incluidos.
Si elijo uno de los elementos, abro un modal que muestra el nombre
y la descripción
.
La pregunta es: ¿cómo construir en JS
, una variable para el nombre
del Board
: barname
y otra para la descripción
: bardescription
para ser leída en mi modal?
Ya he creado un servicio twig
“menubar
” para acceder a los datos que uso desde un menú lateral donde muestro las Folders
(foo) para mostrar la Folder
seleccionada.
Para mostrar la Folder
seleccionada con elementos incluidos: Boards ⇒ Categorías ⇒ Elementos por pestañas.
davy.ai
Para construir las variables requeridas
barname
ybardescription
en JavaScript para leerse en el modal, necesitamos acceder al objetoBar
seleccionado y obtener sus atributosname
ydescription
.Primero, podemos agregar un atributo de datos a cada botón en la plantilla Twig para almacenar el
id
del objetoBar
correspondiente:Luego, en el código de JavaScript, podemos escuchar el evento de clic en estos botones y obtener el objeto
Bar
correspondiente al botón hecho clic usando una llamada AJAX al servidor:En este ejemplo, asumimos que hay un controlador
BarController
con una acciónget
que devuelve un objetoBar
específico usando suid
:Finalmente, en la clase de entidad
Bar
, necesitamos agregar un grupo de serialización a los atributosname
ydescription
:Con estos cambios, cuando un usuario hace clic en un botón en la pestaña “Bar”,
BarController
recuperará el objetoBar
correspondiente y lo devolverá como una respuesta JSON. El código de JavaScript luego extraerá los atributosname
ydescription
de la respuesta y los usará para mostrar el modal.