Jaki jest najlepszy sposób zmiany mocy wyjściowej? Znalazłem „ hook_field_formatter_view ”, ale wygląda na to, że „hook_field_formatter_view_alter” istnieje. W moim przypadku mam pola adresu (moduł Adres), które były używane w okienkach „Wysyłka” i „Płatności” na stronie kasy DrupalCommerce . Chcę dodać js do tych pól, najlepiej przy użyciu interfejsu API formularzy Drupal „#attached”
11
Odpowiedzi:
Możesz spróbować to zmienić za pomocą funkcji wstępnego przetwarzania:
Przeprowadziłem test, aby zmodyfikować zmienne $ [„element”] [„# załączony”] [„js”], ale Drupal nie rozpoznał zmian w elemencie. Nie pewny dlaczego. Może być konieczne użycie drupal_add_js.
źródło
hook_field_formatter_view()
Określona przez konfigurację ekranu nazywa sięfield_default_view()
, która z kolei jako (warstwę lub dwa pod nim) ofield_attach_view()
.Z drugiego linku widać, że wywołuje
hook_field_attach_view_alter()
to po zakończeniu formatowania pól:więc powinieneś być w stanie zdefiniować ten hak.
Zauważ jednak, że będziesz musiał ponownie znaleźć pole na encji, ponieważ uruchamia hak dla całej tablicy renderowania, a nie tylko tablicy renderowania dla jednego pola. Ale przykładowy hak połączony z powyższym daje przykład, jak to zrobić.
źródło