Looking for drupal Answers? Try Ask4KnowledgeBase
Looking for drupal Keywords? Try Ask4Keywords

drupalFormateador de campo


Introducción

Un formateador de campos especifica la forma en que se representa un campo en las plantillas de Drupal. El formateador utilizado por cada campo se puede configurar en la pestaña de visualización Administrar asociada con el tipo de entidad que está configurando.

Los campos pueden tener diferentes formateadores dependiendo del modo de visualización que se muestra, lo que le permite controlar cómo se representa un campo en diferentes partes de su sitio web.

Observaciones

Algunas cosas son importantes a considerar cuando se implementa un formateador de campos.

La implementación de su formateador debe estar dentro de su módulo en la carpeta src/Plugin/Field/FieldFormatter . Las anotaciones también son críticas, ya que identifican su módulo y los tipos de campo a los que se aplica.

En este ejemplo, este formateador solo es aplicable a los campos del tipo de email . Puede aplicar su formateador a varios campos si es necesario. Si su formateador, por cualquier motivo, sería aplicable a los campos de correo electrónico y fecha:

field_type = {
  "email",
  "date",
}

Un error que enfrenté cuando implementé los formateadores de campo por primera vez es que los ajustes no se guardaron cuando se modificaron. No existe un método de guardado explícito y la solución es implementar el método defaultSettings() y especificar los nombres de los campos que conforman su formulario de configuración. Tampoco olvide establecer el valor #default_value en el método settingsForm .

Si usted quiere tener una plantilla RAMITA específica para su formateador es tan simple como la configuración de una #theme tecla mientras la construcción de la matriz en el render viewElements método a continuación, en su .module archivo aplicar hook_theme

function obfuscator_field_formatter_theme() {
  return [
    'obfuscator_field_formatter' => [
      'variables' => array('title' => NULL, 'url' => NULL),
      'template' => 'obfuscator-field-formatter'
    ],
  ];
}

Luego cree la carpeta de templates en la raíz de su módulo y tenga un archivo llamado obfuscator-field-formatter.twig.html en el que imprima el marcado que necesita. En este ejemplo, las variables del render #title y #url estarán disponibles.

Formateador de campo Ejemplos relacionados