Entityqueue
Permite a los usuarios crear listas ordenadas manualmente (colas) de cualquier tipo de entidad con reordenamiento mediante arrastrar y soltar e integración profunda con Views.
entityqueue
Install
composer require 'drupal/entityqueue:8.x-1.10'
composer require 'drupal/entityqueue:8.x-1.7'
Overview
El módulo Entityqueue proporciona un potente sistema para crear listas de entidades ordenadas arbitrariamente. Los constructores de sitios pueden crear colas que contengan cualquier tipo de entidad de Drupal: nodos de contenido, usuarios, términos de taxonomía, elementos multimedia o cualquier otro tipo de entidad. Cada cola se implementa usando referencias de entidad, y los elementos dentro de las colas pueden reordenarse manualmente usando una interfaz de arrastrar y soltar.
El módulo introduce dos tipos de entidad personalizados: Entity Queue (entidad de configuración que define la estructura de la cola) y Entity Subqueue (entidad de contenido que contiene los elementos en cola). Esta arquitectura soporta tanto colas simples de una sola lista como escenarios complejos con múltiples subcolas.
Entityqueue ofrece una amplia integración con Views, proporcionando manejadores de relación, filtros y criterios de ordenación que permiten mostrar el contenido en cola en el orden exacto definido por los editores. El módulo también se integra con el sistema de enlaces contextuales y soporta edición fuera del lienzo cuando el módulo Settings Tray está habilitado.
El sistema de manejadores de cola basado en plugins permite extensibilidad, con soporte integrado para colas Simples (una subcola fija), Múltiples subcolas (subcolas creadas por usuarios) y colas Inteligentes (subcolas automatizadas basadas en referencias de entidad, proporcionadas por el submódulo incluido). El módulo también soporta Workspaces para flujos de trabajo de preparación de contenido.
Features
- Crear colas ordenadas para cualquier tipo de entidad (nodos, usuarios, términos de taxonomía, multimedia, etc.)
- Interfaz de arrastrar y soltar para reordenar elementos de la cola con soporte AJAX
- Tamaños mínimos y máximos de cola configurables con truncamiento automático opcional
- Soporta múltiples manejadores de cola: Cola simple (una subcola fija única), Múltiples subcolas (subcolas ilimitadas creadas por usuarios) y Cola inteligente (subcolas automatizadas)
- Integración profunda con Views con manejadores de relación, filtro, ordenación y campo para mostrar contenido en cola
- Enlaces contextuales para edición rápida de elementos de cola directamente desde las visualizaciones de Views
- Subcolas revisionables y traducibles con soporte completo de moderación de contenido
- Integración con el módulo Rules para manipulación automatizada de colas
- Integración con el módulo ECA para condiciones de cola basadas en eventos
- Integración con Drupal Core Actions para operaciones masivas (agregar/eliminar elementos de colas)
- Permisos granulares por cola para manipulación de colas
- Integración de pestaña de entidad mostrando colas disponibles para cada elemento de contenido
- Soporte de migración desde el módulo Entityqueue de Drupal 7
- Soporte de Workspaces para flujos de trabajo de preparación de contenido
- Soporte de edición fuera del lienzo mediante integración con el módulo Settings Tray
Use Cases
Carrusel de Contenido Destacado
Crea una cola simple para nodos, luego crea una Vista con una relación de Entityqueue limitada a esa cola. Agrega una ordenación por Posición en Cola y muestra como carrusel. Los editores pueden arrastrar y soltar contenido para cambiar el orden de elementos destacados.
Artículos Destacados por Categoría
Usa el submódulo Smartqueue para crear colas basadas en términos de taxonomía. Cada término de categoría obtiene automáticamente su propia subcola, permitiendo a los editores destacar artículos específicos dentro de cada categoría.
Selecciones Editoriales por Sección
Crea una cola con soporte de múltiples subcolas. Crea subcolas separadas para Inicio, Deportes, Política, etc. Usa Views con filtros de subcola para mostrar el contenido apropiado en cada sección del sitio.
Rotación Automatizada de Contenido
Combina con Rules o ECA para agregar automáticamente nuevo contenido a colas basándose en criterios, y usa la acción de mezclar en una tarea cron para aleatorizar contenido destacado diariamente.
Gestión de Programación de Eventos
Crea una cola con 'Actuar como cola' habilitado y un tamaño máximo. A medida que se agregan nuevos eventos, los eventos más antiguos se eliminan automáticamente de la lista destacada, manteniendo una visualización de próximos eventos de tamaño fijo.
Listas de Lectura Específicas por Usuario
Crea una cola de múltiples subcolas para nodos. Crea programáticamente una subcola por usuario para listas de lectura personalizadas o marcadores.
Tips
- Siempre agrega una ordenación por Posición en Cola cuando muestres contenido en cola en Views, de lo contrario los elementos aparecerán en el orden predeterminado.
- Usa el ajuste 'Actuar como cola' con un tamaño máximo para mantener automáticamente una cola de longitud fija sin limpieza manual.
- Para colas grandes, considera usar el manejador de selección de Views para proporcionar autocompletado de entidad filtrado.
- La función de enlaces contextuales requiere el módulo Contextual Links del core y el permiso 'Acceder a enlaces contextuales'.
- Cuando uses Workspaces, los cambios de cola se preparan y solo se publican cuando se despliega el workspace.
- Las colas simples son las más rápidas de configurar para necesidades básicas de contenido destacado; usa múltiples subcolas solo cuando necesites categorización.
- El widget de tabla arrastrable muestra un mensaje de acceso restringido para entidades que el usuario actual no puede ver, pero la cola sigue funcionando correctamente.
Technical Details
Admin Pages 5
/admin/structure/entityqueue
Página principal de administración que lista todas las colas de entidad. Las colas se organizan en secciones de habilitadas y deshabilitadas. Cada cola muestra su nombre, tipo de entidad objetivo, tipo de cola (manejador) y cantidad de elementos. Las operaciones incluyen Configurar, Editar elementos (para colas simples), Habilitar/Deshabilitar y Eliminar.
/admin/structure/entityqueue/add
Formulario para crear una nueva cola de entidad. Configura el nombre de la cola, tipo, ajustes de entidad objetivo y opciones de comportamiento de la cola.
/admin/structure/entityqueue/{entity_queue}
Editar la configuración de una cola de entidad existente. La mayoría de los ajustes pueden modificarse excepto el nombre máquina y el tipo de entidad objetivo que son fijos después de la creación.
/admin/structure/entityqueue/{entity_queue}/{entity_subqueue}
Editar los elementos en una subcola. Proporciona una interfaz de arrastrar y soltar para reordenar elementos, un campo de autocompletado para agregar nuevos elementos, y botones para operaciones masivas (Invertir, Mezclar, Limpiar). Cada elemento muestra un botón Eliminar y opcionalmente un enlace Editar.
/admin/structure/entityqueue/{entity_queue}/list
Lista todas las subcolas pertenecientes a una cola con soporte de múltiples subcolas. Muestra el título de la subcola y operaciones (Editar, Eliminar).
Permissions 6
Hooks 6
hook_entity_field_access
Controla el acceso al campo de título de la subcola. Previene la edición del título para colas con subcolas automatizadas (manejadores de cola Simple e Inteligente).
hook_views_pre_render
Agrega enlaces contextuales a Views que usan relaciones de entityqueue, habilitando acceso rápido para editar elementos de subcola directamente desde la Vista.
hook_contextual_links_view_alter
Modifica los enlaces contextuales de entityqueue para usar diálogos fuera del lienzo cuando el módulo Settings Tray está habilitado.
hook_entity_delete
Elimina automáticamente entidades borradas de todas las subcolas que las referencian.
hook_views_query_alter
Modifica las consultas de Views para manejar correctamente las relaciones de entityqueue dentro de Workspaces.
hook_views_data_alter
Agrega manejadores de Views específicos de entityqueue (relación, filtro, ordenación, campo) a todos los tipos de entidad que tienen colas definidas.
Troubleshooting 5
Asegúrate de haber agregado tanto una relación de Entityqueue COMO una ordenación por Posición en Cola a tu Vista. La ordenación debe usar la relación de entityqueue.
Verifica que los ajustes de entidad de la cola tengan el tipo objetivo y bundles correctos configurados. También verifica que el usuario tenga permiso para ver las entidades.
La cola tiene restricciones de tamaño mínimo o máximo. Agrega más elementos para cumplir el mínimo, o habilita 'Actuar como cola' para eliminar automáticamente elementos excedentes.
Habilita el módulo Contextual Links, otorga el permiso 'Acceder a enlaces contextuales', y asegúrate de que 'Mostrar enlaces de administración' esté habilitado en los ajustes de visualización de la Vista.
Verifica si 'Actuar como cola' está habilitado con un tamaño máximo. Esto elimina automáticamente elementos cuando se excede el límite. También verifica si las entidades referenciadas fueron eliminadas.
Security Notes 3
- El permiso 'Administrar entityqueue' es restringido y otorga control total sobre todas las colas - asignar con cuidado.
- Los permisos por cola permiten control de acceso granular para editores de contenido sin acceso administrativo completo.
- Los permisos de manipulación de cola no otorgan acceso a las entidades subyacentes - los usuarios aún necesitan acceso de ver/editar al contenido en cola.