Throbber gif Drupal होस्टिंग
Drupion समर्थन द्वारा प्रस्तुत 25 सितम्बर 2012 00:44
क्योंकि यह आप आसानी से उन्हें एक बिल्कुल अलग पृष्ठ लोड बनाकर दर्शकों के लिए असुविधा पैदा करने के बिना एक पृष्ठ पर अधिक जानकारी प्रदर्शित करने की अनुमति देता है मोडल खिड़कियों उत्कृष्ट डिजाइन विशेषताएं हैं। मैं क्रियार्थ द्योतक का उपयोग जहां मैं और अधिक जानकारी है कि काफी मोटा एक अलग पूर्ण पृष्ठ लोड योग्यता के लिए नहीं है प्रदर्शित करना चाहते हैं।
चित्रा 1: ये खिताब के लिंक, एक दृश्य के द्वारा उत्पन्न कर रहे हैं कि जब ट्रिगर अतिरिक्त सामग्री के साथ मोडल विंडो क्लिक किया।
चित्र 2: जैसा कि चित्र 1 में दिखाया गया एक लिंक पर क्लिक करने के बाद, मोडल विंडो अतिरिक्त जानकारी के साथ प्रकट होता है।
वहाँ दो सामान्य तरीके आसानी से Drupal में क्रियार्थ द्योतक बनाने के लिए कर रहे हैं। पहला, और आम तरीका ColorBox या Lightbox2 मॉड्यूल का प्रयोग है। दोनों मॉड्यूल कुछ अंतर्निहित कार्यक्षमता है और साइट बिल्डर स्तर पर विन्यस्त किया जा सकता।
थीम पर अधिक नियंत्रण और मॉडल की सामग्री, और कैसे मोडल खिड़कियों काम का ज्ञान प्राप्त के लिए, मैं अर्ल मिलेस '(उर्फ अराजकता की मर्लिन) अराजकता उपकरण, या मोडल सृष्टि के CTools विधि में डुबकी ले लिया। यहाँ देखें कि मैंने यह कैसे किया।
इस ट्यूटोरियल ड्रुपल 7 की समझ की उन्नत स्तर आप यह करने के लिए एक मॉड्यूल का निर्माण करने की आवश्यकता होगी करने के लिए एक मध्यवर्ती की आवश्यकता है।
1. हम अपने मॉड्यूल का नाम होगा "हैप्पी," इसलिए अंदर अपने Drupal नाम है, साइटों / सभी / मॉड्यूल / खुश स्थापित एक निर्देशिका बनाने।
'खुश' निर्देशिका के अंदर, दो खाली फ़ाइलें, 'happy.module' और बनाने 'happy.info।' इसके अलावा, डाउनलोड करने और CTools मॉड्यूल और दृश्य मॉड्यूल सक्षम करें। CTools मोडल के लिए एक निर्भरता, और दृश्य के रूप में इस उदाहरण के लिए एक निर्भरता है।
इसके अलावा, मॉड्यूल निर्देशिका के अंदर मोडल अनुकूलन के लिए निम्नलिखित जोड़ें:
- "Happy.js" के भीतर, जैसे 'साइटों / सभी / मॉड्यूल / खुश / js / happy.js') के साथ एक "जे एस" फ़ोल्डर।
- के साथ "happy.css" के भीतर, उदा ए 'सीएसएस "निर्देशिका 'साइटों / सभी / मॉड्यूल / सीएसएस / happy.css')।
- gifs throbber कस्टम AJAXs के लिए एक छवियों निर्देशिका (आवश्यक होने पर), उदा 'साइटों / सभी / मॉड्यूल / खुश / images / [छवि नाम] .jpg'
- हमारे कस्टम के लिए एक विषय निर्देशिका में 'साइटों / सभी / मॉड्यूल / खुश / विषय' टेम्पलेट दृश्य, और कहा कि निर्देशिका के अंदर एक बार देखा गया टेम्पलेट इस ट्यूटोरियल में साथ आगे रखा जाएगा।
2. 'happy.info' फ़ाइल के साथ मॉड्यूल कॉन्फिगर करें।
ओपन, फ़ाइल में निम्न पेस्ट, और बचाने के लिए:
नाम = मुबारक
विवरण CTools ढांचे का उपयोग कर मोडल खिड़कियों बनाने के लिए एक उदाहरण मॉड्यूल =।
कोर = 7.x
पैकेज = यूजर इंटरफेस
php = 5.2.4
निर्भरता [] = ctools
निर्भरता [] = विचारों
साइड नोट: इस उदाहरण के प्रयोजनों के लिए, हम दृश्य का उपयोग कर रहे नोड्स है, जिसे क्लिक, मोडल विंडो के अंदर नोड सामग्री को खोलने के लिए लिंक की एक सूची generat करने के लिए। इसलिए, इस उदाहरण के लिए, दृश्य एक निर्भरता है।
3. 'happy.module' खोलें और शीर्ष पर मानक Drupal मॉड्यूल मचान जगह, फिर सहेजें।
4. पहला कदम मेनू पथ जब मोडल विंडो प्रकट होता है मोडल लिंक खुल जाएगा परिभाषित करने के लिए है।
यहाँ उन्नत अंक के एक जोड़े हैं: CTools मॉड्यूल "% ctools_js" की पहचान करता है अनुरोध रास्ते में एक प्लेसहोल्डर के रूप में। CTools "js" या के साथ कि प्लेसहोल्डर तर्क "nojs," उपयोगकर्ता के ब्राउज़र की जावास्क्रिप्ट क्षमताओं पर निर्भर करता है की जगह लेगा। "पृष्ठ कॉलबैक" एक समारोह है कि हम अगले परिभाषित करेगा है। यह जहां बड़े कार्य करने का सबसे समा जाती है। अंत में, इस उदाहरण में पहुँच नहीं प्रतिबंध नहीं है। यही कारण है कि अज्ञात उपयोगकर्ताओं के बाद से 'पृष्ठ कॉलबैक' सही पर सेट किया जाता है मोडल की सामग्री का उपयोग कर सकते हैं।
5. परिभाषित करें 'पृष्ठ कॉलबैक' समारोह:
हालांकि यह जटिल दिखाई देता है, इसके बाद के संस्करण समारोह सीधी-सपाट है। उपयोगकर्ता के ब्राउज़र जावास्क्रिप्ट का समर्थन नहीं करता है, तो के रूप में CTools द्वारा हमारे लिए निर्धारित किया है, तो हम उन्हें गैर जावास्क्रिप्ट सामग्री दे देंगे। अन्यथा, हम CTools मोडल बंद आग और उन्हें एक नोड के टीज़र दृश्य मोड दे।
6. इसके बाद, हम माता पिता के पृष्ठ लोड में मोडल विंडो के लिए सेटिंग्स इंजेक्षन की जरूरत है।
आप इस हुक कई कार्य करने की जहां Drupal पेज के लिए सामग्री renders है कर सकते हैं। उदाहरण हुक जहां निम्नलिखित कोड काम करेंगे hook_node_view ($ node-> सामग्री वस्तु टुकड़ा संशोधित), hook_block_view, hook_field_load, और आदि शामिल हैं
इस उदाहरण के प्रयोजनों के लिए, मैं नोड खिताब जो क्लिक करने, मोडल अंदर नोड के चिढ़ाने प्रदर्शित का दृश्य जनरेट कर रहा हूँ। कि के लिए, मैं दृश्य हुक, hook_views_pre_render () प्रयोग किया है:
यह एक बहुत जब एक मॉडल बनाने लिखने के लिए है। सारांश में, हम CTools जे एस फ़ाइलों के सभी लोड करने के लिए की है। फिर, हम आकार और मॉडल CTools विन्यास सरणी (इस उदाहरण में, $ happy_style) का उपयोग कर की सुविधाओं को परिभाषित। और अंत में, हम आवश्यक सेटिंग्स, जावास्क्रिप्ट फ़ाइल, और क्रिया सामग्री प्रसंगयुक्तप्रस्तुतिकरण के लिए सीएसएस फ़ाइल इंजेक्षन।
7. लिंक है कि मोडल विंडो प्रकट करने के लिए ट्रिगर किया जाएगा परिभाषित करें।
अब तक हम पेज और सामग्री है कि मॉडल के अंदर प्रदर्शित करेगा परिभाषित किया है, और हम मोडल की प्रारंभिक शैलियों को परिभाषित किया है। अब, हम ट्रिगर कि मोडल विंडो खुलेगा परिभाषित करना होगा। सभी कि वास्तव में आवश्यकता है विशेष CTools वर्गों के साथ लिंक कर रहे हैं। जब से मैं दृश्य का उपयोग कर रहा है, मैं लिंक करने योग्य खिताब की अपनी सूची के लिए एक बार देखा गया टेम्पलेट परिभाषित करने के लिए जा रहा हूँ। इस तरह से, मैं CTools जागरूक को गति प्रदान होने के लिए दृश्य के अंदर लिंक संशोधित कर सकते हैं।
वैकल्पिक रूप से, आप लिंक है कि विषय परत पर मोडल को गति प्रदान hook_preprocess हुक का उपयोग कर, या साइट के विषय निर्देशिका के अंदर एक बार देखा गया टेम्पलेट के अंदर परिभाषित कर सकते हैं।
मैं एक ही मॉड्यूल निर्देशिका के अंदर एक कस्टम मॉड्यूल के सभी कार्यक्षमता है पसंद करते हैं। यह क्लीनर है। इसलिए, मैं खुश मॉड्यूल निर्देशिका के अंदर एक बार देखा गया खाका बनाने के लिए चुना।
यहाँ का सबसे अच्छा तरीका है। सबसे पहले विषय और विचार टेम्पलेट रजिस्टर:
फाइल के अंदर - इस घोषणा के बाद, आप एक [module_dir] / विषय निर्देशिका बना सकते हैं और जगह की आवश्यकता होगी 'happy.tpl.php विचारों पर-व्यू के क्षेत्रों'। प्रारंभिक सामग्री के लिए, दृश्य मॉड्यूल के डिफ़ॉल्ट "विचारों-दृश्य-fields.tpl.php" टेम्पलेट की सामग्री, दृश्य मॉड्यूल के विषय निर्देशिका के अंदर स्थित का उपयोग करें।
क्योंकि मैं एक hook_theme पंजीकृत किया है और hook_theme अंदर, एक दृश्य टेम्पलेट की घोषणा की, मैं शीर्षक लिंक मैं बनाया का अंतिम प्रदर्शन के साथ लड़ाई के लिए दृश्य 'hook_preprocess_view () का उपयोग कर सकते हैं:
इस बिंदु पर, चर $ ctools_link विचारों पर-व्यू के क्षेत्र में मेरे लिए उपलब्ध हो जाएगा - happy.tpl.php फ़ाइल। उस टेम्पलेट के अंदर, बस पंक्ति जोड़ें:
9. जावास्क्रिप्ट फ़ाइल।
हम एक CTools मोडल बनाने के लिए पीएचपी TASS के सभी पूरा किया है। अब हम जावास्क्रिप्ट को हमारे ध्यान में बदल जाते हैं।
आप ctools_ajax_example मॉड्यूल के अंदर डिफ़ॉल्ट CTools मोडल js फ़ाइल के साथ शुरू कर सकते हैं, लेकिन मुझे लगता है कि आप के लिए फ़ाइल को सरल बनाया है, और घोषणा की सब आप आरंभ करने की जरूरत है।
यहाँ साइटों / सभी / मॉड्यूल / खुश / js / happy.js फ़ाइल की सामग्री है:
10 अब आप मोडल शैली के लिए तैयार हैं।
'साइटों / सभी / मॉड्यूल / खुश / सीएसएस / happy.css', शैली अपने स्वाद के मोडल विंडो का उपयोग करना।
इस बिंदु पर, आप अधिक जानकारी के लिए Drupal 7 में एक CTools मोडल बनाया है, गूगल से बचने जब तक आप पर CTools मॉड्यूल के अंदर विस्तृत सहायता html फ़ाइलें भस्म है 'साइटों / सभी / मॉड्यूल / ctools / मदद / modal.html।'
Drupal 7 के साथ खुश Modaling!