Ayuda de Wix

Solicitud de CMS: ventanas emergentes dinámicas

Función solicitada|Estamos recolectando votos sobre este tema
6 min
En la actualidad, no es posible dinamizar las ventanas emergentes conectándolas a las colecciones del CMS. Sin embargo, puedes conectar los elementos adjuntos de una ventana emergente al contenido de la colección del CMS para que los elementos sean dinámicos (por ejemplo, texto, imágenes, botones).  
Siempre estamos trabajando para actualizar y mejorar nuestros productos, por lo que apreciamos mucho tus comentarios. 

Solución alternativa

Con Velo, puedes crear una ventana emergente que se abra desde una página dinámica de ítem y muestre el mismo ítem que se muestra en la página desde la que se abrió la ventana emergente.

Por ejemplo, si tienes páginas dinámicas de ítem que muestran los servicios que ofreces, puedes enlazar un botón de la página a una ventana emergente. En la ventana emergente, puedes conectar elementos como texto, imágenes y botones a un conjunto de datos que se conecte a la misma colección. Como resultado, cuando los visitantes hacen clic en el botón en la página dinámica de ítem, se abre una ventana emergente con más información sobre el mismo ítem que se muestra en la página. 
Antes de comenzar:
Asegúrate de que tu sitio tenga lo siguiente: 
  1. Ve al editor.
  2. Ve a la página dinámica de ítem correspondiente. 
  3. Habilita el modo desarrollador de Velo: 
    1. Haz clic en Modo desarrollador en la parte superior del editor. 
    2. Haz clic en  Activar. 
  4. Copia el fragmento de código a continuación y pégalo en la parte superior del código de tu página:
1import wixWindowFrontend from 'wix-window-frontend';
Captura de pantalla de cómo agregar un fragmento de código en la parte superior del código de una página dinámica de ítem.
  1. Copia el fragmento de código a continuación y pégalo después de: $w.onReady(function () {
1$w('#openLightbox').onClick(async () => {
2        const item = await $w('#dynamicDataset').getCurrentItem();
3        const id = item._id;
4        wixWindowFrontend.openLightbox("Dynamic Lightbox", id);
5    })
Captura de pantalla de cómo pegar el segundo fragmento de código en el código de la página dinámica de ítem.
  1. En el código de muestra que pegaste, reemplaza los ID que se enumeran a continuación con los que usa tu sitio:
    • openLightbox: reemplaza por el ID del botón que abre la ventana emergente. 
    • dynamic Dataset: reemplaza por el ID del conjunto de datos de la página dinámica de ítem. 
    • Dynamic Lightbox: reemplaza por el nombre de la ventana emergente. 
Captura de pantalla que muestra los ID y el nombre de la ventana interactiva que deben reemplazarse en el código.
  1. En el editor, ve a la ventana emergente. 
  2. Agrega un conjunto de datos y conéctalo a la misma colección que tu página dinámica de ítem:
    1. Haz clic en CMS  a la izquierda del editor.
    2. Haz clic en Agregar elementos. 
    3. Haz clic en Conjunto de datos.
    4. Haz clic en el menú desplegable Elige una colección y selecciona la misma colección que se conecta a tu página dinámica de ítem. 
    5. Haz clic en Crear. 
  3. Haz clic en el campo Items por carga en los ajustes del conjunto de datos y escribe el número 1.
  4. Conecta los elementos en la ventana emergente (por ejemplo texto, imágenes, botones) al conjunto de datos:
    1. Haz clic en el elemento correspondiente en la ventana emergente. 
    2. Haz clic en el icono Conectar a CMS .
    3. Haz clic en los menús desplegables debajo de Conexiones y selecciona los campos de la colección o las acciones del conjunto de datos correspondientes. 
    4. Repite estos pasos para cada elemento de la ventana emergente que desees conectar. 
  5. Copia el fragmento de código a continuación y pégalo en la parte superior del código emergente: 
1import wixWindowFrontend from 'wix-window-frontend';
2import wixData from 'wix-data';
Captura de pantalla de cómo pegar el fragmento de código en la parte superior del código de la ventana interactiva.
  1. Copia el fragmento de código a continuación y pégalo después de: $w.onReady(function () {
1const getData = async () => {
2       const id = await wixWindowFrontend.lightbox.getContext();
3       $w('#dataset1').setFilter(wixData.filter().eq('_id', id));
4}
5getData();
Captura de pantalla de cómo agregar el fragmento de código anterior al código de la ventana interactiva.
  1. En el código de muestra que pegaste, reemplaza dataset1 por el ID del conjunto de datos de la ventana emergente. 
  2. Haz una vista previa del sitio para probar la funcionalidad. 
  3. Cuando lo tengas todo listo, publica el sitio.