¿Hay alguna manera de cambiar el orden de ejecución de hook_form_alter en Drupal 7 sin cambiar el peso de un módulo o piratear Drupal Core?
Estoy tratando de alterar el elemento agregado en translation_form_node_form_alter desde el módulo de traducción. Al depurar el formulario, no puedo encontrar el elemento, así que supongo que mi gancho se está ejecutando antes que el del módulo de traducción.
hook_form_FORM_ID_alter()
, entiendo que no debería necesitar modificar el peso (porque todas lashook_form_FORM_ID_alter()
llamadas se realizan después de todohook_form_BASE_FORM_ID_alter()
).drupal_prepare_form()
ydrupal_alter()
. Ya me había dado cuenta de que los documentos parecían estar apagados, así que creé un problema . ¡No sé por qué no funciona para ti sin alterar el peso del sistema!También vale la pena mencionar, hay una nueva API de drupal 7 llamada hook_module_implements_alter () que le permite alterar el orden de ejecución para un gancho dado SIN alterar la tabla de pesos del módulo.
Código de muestra de los documentos de la API que muestra lo fácil que es hacer esto:
fuente
Aquí le mostramos cómo asegurarse de que se llame a su hook_form_alter después de que otros módulos hook_form_alter:
Esto también funciona cuando el otro módulo ha proporcionado un enlace form_alter en la variación: hook_form_FORM_ID_alter. (explican eso en la documentación: hook_module_implements_alter ).
Sé que esta publicación es bastante similar a la publicación de wiifm, pero pensé que sería útil con un ejemplo con hook_form_alter
fuente