Змінити гачок_field_formatter_view?


11

Який найкращий спосіб змінити вихідний полів? Я знайшов " kuke_field_formatter_view ", але, здається, немає нічого подібного до "ho_field_formatter_view_alter". У моєму випадку у мене є поля адреси (модуль Addressfield) , які використовуються в «Доставка» і «Оплата» на стеклах DrupalCommerce сторінці оформлення замовлення «s. Я хочу додати декілька js до цих полів, бажано використовувати API Drupal's Form "#attached"


Що таке JS, який ви хотіли б додати до цих полів?
saadlulu

jquery autocomplete plugin
volocuga

Відповіді:


9

Ви можете спробувати змінити його за допомогою функції попередньої обробки:

function example_preprocess_field(&$variables) {  
  $field_name = $variables['element']['#field_name'];  
  if ($field_name == 'field_example_field') {
    // Your code here.
  }
}

Я провів тест на зміну $ змінних ['element'] ['# attach'] ['js'], але Drupal не розпізнав зміни елемента. Не знаю чому. Отже, можливо, доведеться використовувати drupal_add_js.


5

hook_field_formatter_view()Здається конфігурація дисплея називається в field_default_view(), який сам по собі називається (шар або два нижче нього) шляхом field_attach_view().

З другого посилання ви бачите, що це дзвонить hook_field_attach_view_alter()після завершення роботи з форматами полів:

drupal_alter('field_attach_view', $output, $context);

тому ви повинні мати можливість визначити цей гачок.

Зауважте, що вам доведеться знову знайти поле на сутності, оскільки воно запускає гак для всього масиву візуалізації, а не просто масив візуалізації для одного поля. Але приклад гачка, пов'язаний вище, дає приклад, як це зробити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.