2011-05-23 12 views
12

हम पृष्ठ पर सामग्री लोड करने के लिए ड्रूपल 7 AJAX फ्रेमवर्क का उपयोग कर रहे हैं। अनुरोध पर संसाधित होने पर लिंक के बाद लिंक को थ्रोबबर पर क्लिक किया जाता है।ड्रोपल 7 अजाक्स लिंक से थ्रोबर कैसे हटाते हैं?

मुझे थ्रोबर को सेट या निकालने के तरीके पर दस्तावेज़ नहीं मिल रहा है। एक रूप में यह वास्तव में सरल दिखता है, लेकिन एजेक्स लिंक और कॉलबैक मेनू आइटम का उपयोग करके मुझे कोई दस्तावेज नहीं मिल रहा है।

मुझे लगता है कि एक $ सेटिंग्स चर है जिसे AJAX_command_html फ़ंक्शन में पास किया जा सकता है, लेकिन मुझे कोई दस्तावेज़ नहीं दिखता है कि इसे प्रारूपित कैसे किया जाना चाहिए। आप अधिक जानकारी के और here

+0

क्या आप "थ्रोबबर" पर विस्तार कर सकते हैं? ;-) – usr

+0

http://en.wikipedia.org/wiki/Throbber – mirzu

उत्तर

21

जब आप अपने प्रपत्र आइटम का निर्माण आप "प्रगति" संपत्ति को परिभाषित करने की जरूरत है। समझने की महत्वपूर्ण बात यह है कि ड्रूपल 7 में लिंक 2 तरीके दिए जा सकते हैं। पहला पुराना l() फ़ंक्शन का उपयोग कर रहा है और दूसरा रेंडर सरणी का उपयोग कर रहा है। ड्रूपल में कई थीम फ़ंक्शन पुराने शैली का उपयोग करते हैं और जब इसका उपयोग किया जाता है तो यह drupal_prerender_link() के माध्यम से नहीं चलाया जाता है। तत्व प्री-प्रोसेसिंग कौन सा है जो php से js परत तक सेटिंग्स को संचारित करता है।

+1

एफएपीआई द्वारा नियंत्रित तत्वों में इन बदलावों के लिए बहुत सारे दस्तावेज़ हैं, लेकिन लिंक को कैसे संभालना है इसके बारे में लगभग कुछ नहीं। – mirzu

+1

सच है कि, जैसा कि मिर्जू ने उल्लेख किया है, यदि आप एफएपीआई का उपयोग नहीं कर रहे हैं, तो drupal_pre_render_link() इसे संभालने का सबसे अच्छा तरीका है, वास्तव में एफएपीआई लिंक बनाने के लिए drupal_pre_render_link() को कॉल करता है ताकि आप मूल रूप से महत्वपूर्ण परत पर जा रहे हों , जो भी परिचित नहीं है, बस अपनी लिंक सरणी को प्रारूपित करें जैसे कि आप ड्रापल रेंडर देने पर योजना बनाने वाले किसी अन्य HTML तत्व को, यानी: 'array (' # href '=>' my_url ',' # title '=> 'मेरा लिंक शीर्षक', '#ajax' => सरणी ('कॉलबैक' => 'my_ajax_callback')); 'आदि – Trey

2

उदाहरण मैं अपने ही सवाल का जवाब मिल गया पा सकते हैं

$mycheckbox=array(
    '#type' => 'checkbox', 
    '#title' => 'Load it up', 
    '#ajax' => array(
     'callback' => 'ajax_example_callback', 
     'wrapper' => 'checkboxes-div', 
     'effect' => 'slide', 
     'progress' => array('type' => 'none'), 
    ), 
); 

:

10

तुम बस किसी से प्रदर्शन मान सेट द्वारा div.ajax प्रगति-throbber छिपा सकते हैं:

.ajax-progress-throbber { 
    display: none; 
} 

मॉड्यूल सीएसएस इंजेक्टर (http://drupal.org/project/css_injector) की तरह उपयोगी हो सकता है।