Experts en Drupal

Vistes a Drupal de contingut traduïble amb Entity Translation

Com crear una vista amb Drupal que mostri el contingut només si la traducció és d'aquell idioma, gestionat amb Entity Translation.

Vistes a Drupal de contingut traduïble amb Entity Translation

Mòdul Drupal Entity Transaltion: com configurar-lo

Entity Translation és un mòdul de Drupal que ens permet traduir entitats a Drupal 7. Amb Entity Translation, a diferència que amb Content Translation, podem traduir només els camps que han de ser traduïbles. D’aquesta forma tenim un únic nid i els diferents camps traduïbles associats a aquest nid.

Fins aquí tot perfecte, però què passa si volem crear una vista que mostri el contingut només si la traducció a aquest idioma existeix?

La resposta a aquesta pregunta és utilitzant Content Translation. És molt senzill si afegim a la vista un filtre de Content: Language i seleccionem Current user’s language.

Amb Entity Translation a una vista de contingut hem de jugar una mica més. El punt de partida és que si utilitzem Entity Translation per gestionar les nostres traduccions de contingut, l’idioma del contingut serà l’idioma original, amb el qual les traduccions tindran aquest mateix idioma per la raó que és el mateix nid. D’aquesta forma, si afegim l’opció de Content: Language i seleccionem Current user’s language només ens mostrarà el contingut escrit originalment en l’idioma en qüestió, però mai les seves traduccions.

Partint de la pregunta inicial i amb aquesta explicació en un suposat que tots els continguts tinguessin traduccions realment no hauríem de tocar res en la vista i se’ns mostrarien els continguts traduïts.

Tenint en compte que és molt normal un requeriment de “Si el contingut no està traduït no ho mostris” o “Aquest contingut només ha d’estar disponible en Xinès, però no en Rus” podem configurar la vista de la següent manera:

  1. Afegim una relació: Content: Entity translation: translations.
  2. Afegim un filtre: Entity translation: Language y Current user’s language.
  3. És important desactivar l’opció de configuració d’entity translation: Enable language fallback.

D’aquesta forma només ens mostrarà el contingut en una vista si està traduït.

Comparteix aquest article

Articles Relacionats