Crea una medialibrary en Laravel PHP inspirada en WordPress

2 minutos de lectura

avatar de usuario
poashoas

En este momento estoy trabajando en una biblioteca multimedia en el marco de Laravel. Estoy viendo WordPress desde el punto de vista de la experiencia de los usuarios. La pestaña Biblioteca multimedia muestra las imágenes que puede seleccionar.

  1. Revisé DOS imágenes (Mayús + clic) dentro de “Insertar medios”
  2. Cambio a “Imagen destacada” y verifico UNA imagen para Imagen destacada.
  3. Cuando vuelvo a insertar medios, recuerda las dos imágenes seleccionadas previamente y olvida la imagen destacada marcada.

ingrese la descripción de la imagen aquí

¿Cómo “recuerda” WordPress qué imágenes están marcadas en la vista Insertar medios? ¿Es esa una vista de Backbone que están usando con algunos datos almacenados en un modelo? Porque cada vez que cambio entre Insertar medios e Imagen destacada, el UL elemento está cambiando es id atributo: (__attachments-view-xxx).

Cuando solo uso javascript simple, ¿podría poner algunas ID en una matriz asociativa? ¿Significa que cada vez que vuelvo a Insertar medios, necesito encontrar las imágenes correspondientes para volver a verificarlas? ¿Qué sucede si tiene cientos de elementos multimedia para buscar cada vez…

tengo la sensacion de Biblioteca de subrayado podría ser útil de alguna manera como una buena alternativa, pero no he descubierto cómo usarlo para que todo sea lo más fluido y rápido posible… Parece que WordPress ni siquiera está “actualizando” los elementos multimedia. ¿Alguien podría darme algún consejo para imitar este comportamiento?

Una forma sencilla sería:

  • cada elemento en la vista de la galería tiene una identificación única (por ejemplo, la identificación real de wordpress). Se puede almacenar como un atributo de datos o el atributo de identificación html, por ejemplo.
  • luego tiene matrices separadas que almacenan las ID de los elementos seleccionados para cada pestaña (insertar medios / imagen destacada)
  • cuando el usuario hace clic en un elemento, la identificación de ese elemento se agrega (o elimina) a la matriz correspondiente para la pestaña que está viendo
  • cuando el usuario cambia de pestaña, primero anula la selección de todo en la galería (elimina la clase que los marca como seleccionados), luego revisa tu matriz correspondiente y vuelve a seleccionar lo que está en esa lista.

Por supuesto, estoy seguro de que WordPress está haciendo algo mucho más refinado, como almacenar una lista de todas las imágenes que obtuvo de la solicitud AJAX como objetos, luego realizar estas operaciones en esa lista y también mostrar/ocultar elementos en la vista de galería basada en en qué pestaña seleccionas. Pero la idea general es la misma.

¿Ha sido útil esta solución?