Hook_field_formatter_view değiştirilsin mi?


11

Alan çıktısını değiştirmenin en iyi yolu nedir? " Hook_field_formatter_view " buldum ama " hook_field_formatter_view_alter " gibi bir şey yok gibi görünüyor. Benim durumumda, DrupalCommerce'ın ödeme sayfasında "Gönderim" ve "Faturalandırma" bölmelerinde kullanılan adres alanları (Adres Alanı modülü) var . Drupal Form API "#attached" kullanarak bu alanlara, bazı js eklemek istiyorum


Bu alanlara eklemek istediğiniz JS nedir?
saadlulu

jquery otomatik tamamlama eklentisi
volocuga

Yanıtlar:


9

Bir önişleme işleviyle değiştirmeyi denemek isteyebilirsiniz:

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

$ Değişkenleri değiştirmek için bir test yaptım ['element'] ['# attached'] ['js'] ancak Drupal elemandaki değişiklikleri tanımadı. Emin değilim neden. Bu nedenle, drupal_add_js kullanmanız gerekebilir.


5

hook_field_formatter_view()Denir ekran konfigürasyonu ile belirtilen field_default_view()kendisi (altında bir tabaka veya iki) denilen, field_attach_view().

İkinci bağlantıdan hook_field_attach_view_alter(), alan biçimlendiricileri ile iş bittikten sonra aradığını görebilirsiniz :

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

bu kancayı tanımlayabilmeniz gerekir.

Bununla birlikte, yalnızca bir alanın oluşturma dizisini değil, tüm oluşturma dizisinin kancasını çalıştırdığı için varlık üzerindeki alanı yeniden bulmanız gerektiğini unutmayın. Ancak, yukarıda bağlantılı örnek kanca, bunun nasıl yapılacağına dair bir örnek verir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.