मैं अपने ब्रांड के नए मॉड्यूल को Drupal 7 के न्यूनतम संस्करण पर निर्भर कर सकता हूं जो इसके लिए ठीक काम करने के लिए आवश्यक है?


10

मैं एक नया मॉड्यूल विकसित कर रहा हूं (अभी तक इसका उपयोग करने वाली कोई साइट नहीं है)। इसके लिए एक विशिष्ट Drupal संस्करण की आवश्यकता होती है, क्योंकि यह hook_taxonomy_term_view()Drupal core version 7.17 में पेश किए गए हुक का उपयोग करता है ।

मैं अपने मॉड्यूल का उपयोग करके किसी साइट पर सक्षम होने से बचना चाहता हूं, उदाहरण के लिए, Drupal 7.16 या Drupal core के किसी भी पुराने संस्करण। ड्रुपल के उच्चतर संस्करण, 7.17 से ऊपर, ठीक होना चाहिए।

मेरा प्रश्न : मैं अपने मॉड्यूल को उस Drupal 7.17 संस्करण पर कैसे निर्भर कर सकता हूं, जो मेरे मॉड्यूल के लिए न्यूनतम है?

ध्यान दें: मुझे उन साइटों के लिए समाधान की आवश्यकता नहीं है (जिनके बारे में चिंता करना) मॉड्यूल पहले से स्थापित है। तो इस तरह के पूर्व 7.17 Drupal संस्करणों में इसे किसी भी तरह से अक्षम करने की कोई आवश्यकता नहीं है।


प्रश्न हुक से टैग किया गया है क्योंकि यह एक हुक के बारे में है जिसे मुझे अपने कोड में उपयोग करना चाहिए। हुक का मतलब यह नहीं है कि मैं एक हुक की तलाश कर रहा हूं जिसका मैं उपयोग कर सकता हूं; मैं किसी भी समाधान के लिए खुला हूं जो मुझे ड्रूपल 7.17, या उच्चतर का उपयोग नहीं करने वाली साइट पर मॉड्यूल से बचने की अनुमति देता है।
kiamlaluno

आपको कुछ अन्य मॉड्यूल के मामूली संस्करण की आवश्यकता हो सकती है, dependencies[] = mymodule (1.12)लेकिन ऐसा लगता है कि यह कोर के लिए काम नहीं करता है।
आयुष

@AyeshK उह! अब, यह दिलचस्प हो सकता है, अगर आप मुझे एक ड्रुपल कोर मॉड्यूल की ओर इशारा कर सकते हैं जो हमेशा सक्षम होता है।
kiamlaluno

मैंने इसे dependencies[] = taxonomy (>7.17)और कुछ अन्य संभावित संस्करण संख्याओं के साथ आज़माया, लेकिन काम नहीं किया।
आयुष

जवाबों:


11

चाल, जाहिरा तौर पर, सिस्टम मॉड्यूल का उपयोग करना है जैसे:

dependencies[] = system (>=7.17)

4
यह सही है। स्रोत: dww और मैंने संस्करण निर्भरता चेकर लिखा। मैंने इस बारे में drupal4hu.com/node/274 पर ब्लॉग किया और अब drupal.org/node/542202 पर संबंधित हैंडबुक पेज में जोड़ा ।

7

hook_requirements() उद्देश्य के उस प्रकार के लिए मौजूद है।

स्थापना आवश्यकताओं की जाँच करें और स्थिति रिपोर्टिंग करें।

आप $phaseमॉड्यूल को स्थापित कर रहे हैं यह निर्धारित करने के लिए पैरामीटर की जांच कर सकते हैं , अपने आवश्यक संस्करण के खिलाफ वर्तमान Drupal संस्करण की जांच कर सकते हैं और गंभीरता की वापसी कर सकते हैं REQUIREMENT_ERROR। यह मॉड्यूल को तब तक स्थापित होने से रोकेगा जब तक आवश्यकता पूरी नहीं हो जाती।

प्रलेखन बहुत अच्छी तरह से है, यहां ध्यान देने योग्य बात यह है कि हुक को मॉड्यूल की स्थापना फ़ाइल में लागू करने की आवश्यकता है।


यह सही जवाब नहीं है, मुझे नहीं पता कि यह इतना भारी क्यों है।

@chx मैं इसके लिए आपका शब्द लेता हूं, लेकिन उस स्थिति में फ़ंक्शन का वर्णन "स्थापना आवश्यकताओं की जांच करें और स्थिति रिपोर्टिंग करें।" क्या यह भ्रामक है? हम सब स्थापना पर :) मॉड्यूल आवश्यकताओं के लिए जाँच के बारे में विशेष रूप से बात कर के बाद कर रहे हैं
क्लाइव

1
@Chapabu डॉक्स के अनुसार नहीं :) यह विशेष रूप से मॉड्यूल के बारे में बात करता है, और मूल रूप से उस हुक का उपयोग करने के लिए कहता है कि REQUIREMENT_ERRORयह सुनिश्चित करने के लिए कि यदि यह आवश्यकताओं को विफल नहीं करता है तो एक मॉड्यूल स्थापित नहीं है। मैं मान लिया था Drupal के संस्करण की जांच करने के लिए एक वैध उपयोग के मामले (डॉक्स का उल्लेख नहीं है था नहीं कर रही है कि), लेकिन मुझे लगता है कि मैं कुछ नहीं छूटा है। यह सिर्फ बुरा व्यवहार या कुछ और मुझे पता नहीं हो सकता है
क्लाइव

1
@ क्लीयर वेयर्ड, डननो जहां मैं उस समय से था..मायबे डी 8 सिर्फ एक डॉक्स अपग्रेड होना चाहिए ;-)
चापाबू

1
@chx आपको मेरी अज्ञानता का बहाना करना होगा, ऐसा पहले कभी नहीं किया है ... क्या यह समस्या डी 8 के खिलाफ जाती है और फिर बैकपोर्ट हो जाती है? आपकी राय में पूरे पाठ को बदलने की आवश्यकता है या क्या मॉड्यूल / कोर संस्करणों, केवल पुस्तकालय आवश्यकताओं, आदि के लिए जाँच करने के लिए इस हुक का उपयोग नहीं करने के लिए उल्लेख नोट की आवश्यकता है (आपके द्वारा उल्लिखित डॉक्स के लिंक के साथ)? धन्यवाद
क्लाइव

2

आप हुक_ सक्षम का उपयोग कर सकते हैं

मॉड्यूल स्थापित होने के बाद यह आग लग जाएगी। आप इंस्टॉल किए गए ड्रुपल के संस्करण की जांच कर सकते हैं और यदि यह सही संस्करण नहीं है, तो मॉड्यूल_डिजेबल का उपयोग करें और आवश्यक त्रुटि संदेश दें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.