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. Los campos obligatorios están marcados con *

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