ऑल्टर हुक_फ़ील्ड_फॉर्मर_व्यू?


11

फ़ील्ड आउटपुट को बदलने का सबसे अच्छा तरीका क्या है? मुझे " हुक_फ़ील्ड_फॉर्मेटर_व्यू " मिला, लेकिन ऐसा लगता है कि "हुक_फ़ील्ड_फॉर्मेटर_व्यू_ल्टर" मौजूद नहीं है। मेरे मामले में मैं जो "शिपिंग" और "बिलिंग" शीशे में प्रयोग किया जाता पता फ़ील्ड (Addressfield मॉड्यूल) है DrupalCommerce के चेकआउट पृष्ठ। मैं इन क्षेत्रों में कुछ js जोड़ना चाहता हूं, जो Drupal के Form API "#attached" का उपयोग करने के लिए बेहतर है।


जेएस क्या है जिसे आप इन क्षेत्रों में जोड़ना चाहते हैं?
सादालुलु

jquery स्वतः पूर्ण प्लगइन
volocuga

जवाबों:


9

आप इसे प्रीप्रोसेस फंक्शन के साथ बदलने की कोशिश कर सकते हैं:

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

मैंने $ चर ['तत्व'] ['# संलग्न'] ['js'] को संशोधित करने के लिए एक परीक्षण चलाया, लेकिन द्रुपाल ने तत्व में परिवर्तन को नहीं पहचाना। यकीन नहीं है कि क्यों। तो, आपको 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.