Simplify
Simplifica la interfaz administrativa de usuario de Drupal ocultando campos de formulario específicos a los editores de contenido.
simplify
Install
composer require 'drupal/simplify:^2.2'
Overview
Simplify es un módulo de simplificación de interfaz de usuario que permite a los administradores ocultar campos específicos de los formularios de edición de contenido. Esto ayuda a reducir el desorden visual y la confusión para los editores de contenido que no necesitan acceso a opciones avanzadas.
El módulo soporta ocultar campos en nodos, usuarios, comentarios, términos de taxonomía y bloques. La configuración puede aplicarse globalmente (afectando a todos los formularios de un tipo) o por tipo de entidad (por ejemplo, por tipo de contenido, por vocabulario). Los campos se ocultan usando CSS (clase visually-hidden), manteniendo la funcionalidad del formulario mientras se reduce la complejidad visual.
Simplify se integra con muchos módulos contribuidos populares incluyendo Domain Access, Metatag, Redirect, XML Sitemap y más, permitiendo que los campos de esos módulos también puedan ocultarse.
Features
- Ocultar campos de formulario globalmente en todos los formularios de nodos, usuarios, comentarios, términos de taxonomía y bloques
- Configurar ocultación de campos por tipo de entidad (por tipo de contenido, por tipo de comentario, por vocabulario, por tipo de bloque)
- Soporte para campos del core: información de autoría, selección de formato de texto, opciones de promoción, información de revisión, esquema de libro, configuración de comentarios, configuración de menú, configuración de ruta URL y traducción de contenido
- Integración con módulos contribuidos: Domain Access, Entity Translation, Metatag, Node Noindex, Redirect y XML Sitemap
- Control de acceso basado en permisos que permite a usuarios específicos ver siempre los campos ocultos
- Opción para ocultar campos incluso de usuarios administradores que normalmente evitan los permisos
- API extensible mediante hooks para agregar campos personalizados y personalizar el comportamiento de ocultación
Use Cases
Simplificando la experiencia del editor de contenido
Un sitio web de noticias quiere que los editores de contenido se concentren solo en escribir artículos sin distraerse con opciones técnicas. El administrador puede ocultar Información de revisión, Opciones de promoción, Configuración de ruta URL y Meta tags globalmente para todos los tipos de contenido de artículos. Los editores ven solo los campos esenciales (título, cuerpo, imágenes) mientras los desarrolladores y administradores retienen acceso completo mediante el permiso 'View hidden fields'.
Simplificación por tipo de contenido
Un sitio corporativo tiene múltiples tipos de contenido: Publicaciones de blog (simples, para el equipo de marketing), Productos (complejos, para gerentes de producto) y Páginas de destino (complejas, para desarrolladores). Usando ajustes por tipo de contenido, el administrador puede ocultar la mayoría de los campos de los formularios de Publicaciones de blog mientras mantiene todos los campos visibles para Productos y Páginas de destino.
Ocultar selección de formato de texto
Un sitio usa un único formato de texto para todo el contenido y no quiere que los editores lo cambien. El administrador habilita la ocultación de 'Selección de formato de texto' globalmente, eliminando el desplegable de formato de todas las áreas de texto en nodos, comentarios, términos de taxonomía y bloques.
Simplificación de sitio multi-dominio
Un sitio usa el módulo Domain Access pero la mayoría de los editores solo deben publicar en su dominio asignado sin ver campos de selección de dominio. El administrador oculta los campos de 'Domain access' globalmente, mientras que los administradores del sitio con permiso 'View hidden fields' aún pueden gestionar las asignaciones de dominio.
Optimización de la gestión de taxonomía
Un sitio con muchos vocabularios quiere ocultar el campo Relaciones (selección de término padre) para taxonomías planas mientras lo mantiene visible para las jerárquicas. Usando ajustes por vocabulario, el administrador configura cada vocabulario de forma independiente.
Tips
- Los campos se ocultan usando la clase CSS 'visually-hidden', no eliminándolos del formulario. Esto mantiene la funcionalidad del formulario mientras oculta elementos visuales.
- Los ajustes globales y los ajustes por tipo de entidad son acumulativos - los campos ocultos globalmente siempre están ocultos, y los ajustes por tipo agregan campos ocultos adicionales.
- Al configurar ajustes por tipo de entidad (por ejemplo, en un formulario de edición de tipo de contenido), los campos que ya están ocultos globalmente aparecen como casillas de verificación deshabilitadas.
- El módulo asegura que sus alteraciones de formulario se ejecuten al final implementando hook_module_implements_alter, evitando que otros módulos anulen el comportamiento de ocultación.
- Use la opción 'Ocultar campos de usuarios administradores' con cuidado - anula el comportamiento de permisos predeterminado de Drupal y afecta al Usuario 1.
- Para extender Simplify para módulos personalizados, use hook_simplify_get_fields_alter para agregar campos y hook_simplify_hide_field_alter para personalizar el comportamiento de ocultación.
Technical Details
Admin Pages 1
/admin/config/user-interface/simplify
Página principal de administración para configurar los ajustes globales de ocultación de campos. Esta página permite a los administradores seleccionar qué campos de formulario deben ocultarse en todos los formularios de cada tipo de entidad (nodos, usuarios, comentarios, términos de taxonomía, bloques y perfiles).
Permissions 2
Hooks 2
hook_simplify_get_fields_alter
Permite a otros módulos agregar campos personalizados a la lista de campos ocultables. Este hook se llama cuando se construyen las opciones de casillas de verificación para los formularios de configuración de Simplify.
hook_simplify_hide_field_alter
Permite a otros módulos personalizar cómo se ocultan campos específicos. Se llama después de que la lógica de ocultación predeterminada se aplica a cada campo.
Troubleshooting 4
Por defecto, el Usuario 1 y los usuarios con roles de administrador tienen todos los permisos incluyendo 'View hidden fields'. Para ocultar campos de usuarios administradores, habilite la casilla 'Ocultar campos de usuarios administradores' en la página de administración de Simplify.
Algunos campos solo aparecen cuando su módulo asociado está habilitado. Por ejemplo, 'Esquema de libro' requiere el módulo Book, 'Configuración de menú' requiere el módulo Menu UI. Habilite el módulo requerido y la opción aparecerá.
Verifique que los campos que intenta ocultar no estén ya ocultos globalmente. Los campos ocultos globalmente aparecen como casillas de verificación deshabilitadas en los formularios de ajustes por tipo. Para configurar ocultación por tipo, primero elimine el ajuste global.
Asegúrese de que el usuario no tenga el permiso 'View hidden fields'. También verifique si hay módulos o temas en conflicto que puedan estar anulando la clase CSS visually-hidden.
Security Notes 4
- Simplify oculta campos visualmente pero no los elimina del formulario ni previene el envío del formulario con esos valores. Es una herramienta de simplificación de UI, no un mecanismo de control de acceso de seguridad.
- Los campos ocultos por Simplify aún pueden ser accedidos programáticamente y pueden ser manipulados por usuarios con conocimientos técnicos inspeccionando el código fuente de la página.
- Para control de acceso real a campos sensibles, use el módulo Field Permissions de Drupal o implemente lógica de acceso personalizada.
- El permiso 'View hidden fields' debe otorgarse cuidadosamente ya que evita completamente toda la ocultación de Simplify.