Párrafos de Drupal: obtenga los valores de campo de la traducción

Estoy trabajando con un cliente que me pidió que actualizara su tema de Drupal, y junto con eso vino una sorpresa, un módulo personalizado que muestra datos en un mapa.

El módulo personalizado hace uso de párrafos, cada subelemento contiene coordenadas relativas, un título y algunos otros campos.

¡Muy bien! Y pude "arreglarlo" para que se viera exactamente como el cliente quería …

De todos modos, al grano.

Obtener la traducción correcta

Pensé que era algo más fácil, pero me llevó unas horas de google y stackexchange.

Esta página me ayudó a entender un poco más cómo funciona, y con eso pude obtener el campo traducido de la página.

Para extraer el keypoint, tendrás que utilizar este código para obtener el mismo objeto pero con la traducción correcta:

$paragraph = Drupal::service('entity.repository')->getTranslationFromContext($paragraph, $langcode);

Para dar un poco de contexto, este código está dentro del gancho de preprocesamiento del paragrap:

función hook_preprocess_paragraph(&$variables) {
$paragraph = $variables ['paragraph'] ;
$langcode = $paragraph->language()->getId();
switch($paragraph->getType()) {
caso «my_paragraph_field»:
$translatedParagraph = Drupal::service('entity.repository')->getTranslationFromContext($paragraph, $langcode);
....
}

Algo así.

Posted in Desarrollo web.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.