¿Cuál es la mejor manera de alterar la salida de campo? Encontré " hook_field_formatter_view " pero parece que no existe nada como "hook_field_formatter_view_alter". En mi caso, tengo campos de dirección (módulo de campo de dirección) que se utilizan en los paneles "Envío" y "Facturación" en la página de pago de DrupalCommerce . Quiero agregar algunos js a estos campos, preferiblemente usando la API de formulario de Drupal "# adjunto"
11
Respuestas:
Es posible que desee intentar alterarlo con una función de preproceso:
Ejecuté una prueba para modificar $ variables ['elemento'] ['# adjunto'] ['js'] pero Drupal no reconoció los cambios en el elemento. No estoy seguro de por qué. Por lo tanto, es posible que deba usar drupal_add_js.
fuente
La
hook_field_formatter_view()
especificada por la configuración de pantalla se llamafield_default_view()
, que se llama a sí misma (una capa o dos debajo de ella) porfield_attach_view()
.Puede ver desde el segundo enlace que esto llama
hook_field_attach_view_alter()
después de que haya terminado con los formateadores de campo:entonces deberías poder definir ese gancho.
Sin embargo, tenga en cuenta que tendrá que volver a encontrar el campo en la entidad, ya que ejecuta el gancho para toda la matriz de representación, no simplemente la matriz de representación para un campo. Pero el gancho de ejemplo vinculado a arriba da un ejemplo de cómo hacerlo.
fuente