¿Mostrar condicionalmente uno de los dos campos en Display Suite?

8

Me pregunto si hay una forma inteligente o preferida de usar Display Suite para mostrar uno de los dos campos.

Por lo tanto, mi caso requiere una imagen, si está cargada, o un EVA (entidad visualiza el archivo adjunto). Los tengo a ambos mostrando correctamente, y por supuesto si la imagen no está cargada (despoblada), entonces el campo EVA se muestra bien. Pero si la imagen está cargada, quiero ocultar el campo EVA.

Supongo que podría hacer un campo de código personalizado, pero me gustaría evitarlo si hay un método incorporado para elegir uno sobre otro campo. Tal vez algo con grupos de campo?

¡Gracias!

JonMcL
fuente

Respuestas:

2

Su única opción es un campo de código personalizado. Ha habido intentos de hacer posibles campos condicionales a través de la interfaz de usuario, pero era demasiado complejo.

Jyve
fuente
1
Probablemente sea una buena solución, pero no lo llamaría la única opción. Estoy seguro de que también puede ocultar el EVA de una función de preproceso, o incluso configurar la vista EVA para que no devuelva nada si hay una imagen presente.
marcvangend
0

Puede usar Entity Display Plugin para Field UI para problemas como este.

No lo he probado específicamente con EVA, pero puede incorporar visualizaciones, entre otras cosas.

La integración del formulario de investigación en el formulario de la interfaz de usuario de campo es actualmente un poco torpe, pero funciona.

Recomiendo habilitar también Cfr Preset .

Preparación:

  • Habilitar entdispfieldui
  • Opcionalmente habilite cfrpreset

En la página "Administrar pantalla":

  • Desplácese hasta la parte inferior, agregue un campo EntDisP.
  • Mueva el campo hacia una Región activa.
  • Haga clic en "Guardar" en la parte inferior de la página.
  • Edite la configuración para el campo EntDisP (haga clic en la rueda dentada).
  • Elija "Cadena de responsabilidad", luego "Campo con formateador" o "Imagen con procesador".
  • Haga clic en "Actualizar" en el subformulario.
  • Haga clic en la rueda dentada nuevamente para abrir el formulario nuevamente.
  • Elija "Visualización de vistas .." para "Nuevo elemento". Elija las vistas mostrar id.
  • Haga clic en "Actualizar" en el subformulario.
  • Haga clic en "Guardar" en la parte inferior de la página.

Debería funcionar ahora, pero tener esta configuración dentro de la configuración de la pantalla es complicado.

Para evitar esto, puedes usar cfrpreset.

En la página "Administrar pantalla":

  • Haga clic en la rueda dentada nuevamente.
  • Pase el mouse al lado del elemento de selección de desglose para "Visualización de entidad".
  • Haga clic en "Crear un ajuste preestablecido" (se abre en una pestaña nueva).

En la página "Agregar preset":

  • Elija un nombre para el preajuste.
  • Salvar.

En la página "Administrar pantalla":

  • Cierre el subformulario, si aún está abierto.
  • Haga clic en la rueda dentada nuevamente.
  • Elija el preajuste que acaba de crear.
  • Haga clic en "Actualizar" en el subformulario.
  • Haga clic en "Guardar" en la parte inferior de la página.

Opcionalmente, puede exportar la configuración parcial como nuevos ajustes preestablecidos.

Capturas de pantalla

Espero que estos no sean demasiado. Sería genial tener una cosa de expansión / colapso.

Añadir campo EntDisP.

Agregue un campo EntDisP.

Configuración con "Campo con formateador".

Configure el campo EntDisP.

Configuración alternativa con "Imagen con procesador".

Configuración alternativa con "Imagen con procesador".

Exportar como preestablecido.

Opcionalmente, exportar como un preajuste.

Guarde el preajuste.

Guarde el preajuste.

Use el preajuste en lugar de la configuración in situ.

Use la configuración predeterminada en lugar de la configuración local.

Don Quijote
fuente