Vistas 3, filtro contextual en el idioma: permite múltiples idiomas

8

Entonces, para este sitio que estoy construyendo, necesito poder hacer lo siguiente.

  1. Cuando el usuario vea el sitio en inglés, muestre todos los artículos en inglés
  2. Cuando el usuario vea el sitio en holandés, muestre todos los artículos holandeses, pero también los que no están traducidos.
  3. Cuando el usuario vea el sitio en alemán, muestre todos los artículos alemanes, pero también los no traducidos en inglés.

El filtro contextual, 'Traducción de contenido: Idioma' solo permite poner un valor. Ese es un idioma especificado, o todo.

Pero en mi caso sería necesario poder configurar, por ejemplo, "en + nl" o "en + de". Como se puede hacer con la taxonomía 'Tiene taxonomía', me gustaría algo como 'Tiene lenguaje'.

Kasper
fuente

Respuestas:

3

Resolví esta tarea así:

  • Para "Cuando el valor del filtro no está disponible", seleccione la opción "Proporcionar valor predeterminado".
  • luego use "Código PHP" como valor para "Tipo"
  • El código PHP real que agregué es el que se muestra en la siguiente captura de pantalla:

ingrese la descripción de la imagen aquí

Taras Germanyuk de Ucrania
fuente
Agregar php en una vista? Eso es feo ..... Resuelve el problema, pero no creo que sea una buena idea.
itsdarrylnorris
Esto puede ser complicado, pero esto me dio exactamente lo que se necesita para un requisito ligeramente diferente: una página de vista, con prefijos de idioma: site.com/en y site.com/ja ... Cuando el usuario está en EN, muestra todo el contenido con Contenido EN; cuando se cambia a la interfaz JA, muestra solo contenido con traducción JA. ¡Gracias!
jaesperanza
2

Una solución sería utilizar la traducción de campo:

  1. Establezca "Habilitar reserva de idioma" en activo en la página de configuración de traducción de entidad.
  2. Configure la vista para usar el idioma de usuario actual (Avanzado> Otro> Idioma de campo).

Hecho.

gozo
fuente
no puedo ver la opción "Habilitar reserva de idioma" en esa página. necesito instalar el módulo de traducción de Entity antes, creo ...
headkit
¿De qué otra forma accedería a la página de configuración de módulos? Sin embargo, debería haberlo señalado más claramente, así que gracias por agregar esa información.
disfruta el
1

Supongo que necesitas este módulo: https://www.drupal.org/project/select_translation

Proporciona funcionalidad de respaldo de idioma para nodos traducidos con traducción de contenido (no traducción de entidad) dentro de las listas de vistas. Esta es una alternativa a la opción Vistas "Idioma de campo" que no funcionaría para los nodos traducidos con Content Translation.

hugronaphor
fuente
1

Para tener una Vista con un respaldo de idioma predeterminado si no existe una traducción de nodo y luego mostrar el idioma predeterminado , solo asegúrese de DESACTIVAR:

X Cuando sea necesario, agregue la condición del idioma del campo a la consulta

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Jorge Díaz
fuente