क्या अन्य स्थानों में मॉड्यूल खोजने के लिए Drupal को कॉन्फ़िगर किया जा सकता है?


13

मैंने अपने मॉड्यूल को साइटों / सभी / मॉड्यूल में रखा है। क्या अन्य स्थानों में भी अधिक मॉड्यूल खोजने के लिए Drupal को कॉन्फ़िगर करने का एक तरीका है?


संपादित

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

<VirtualHost *:80>
    ServerName testdrupal.com
    DocumentRoot "C:/proj/testdrupal"
    ServerAlias testdrupal.com

   <Directory "C:/proj/testdrupal/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

मुझे लगता है कि आप जो वर्णन कर रहे हैं वह कुछ अलग है, है ना? मैं सामान्य रूप से www के अंदर ड्रुपल फ़ोल्डर को छोड़ने की कोशिश कर रहा हूं, लेकिन केवल साइटों / सभी / मॉड्यूल को किसी अन्य स्थान पर स्थानांतरित कर सकता हूं, लेकिन मैं अभी भी यह पता नहीं लगा सकता हूं कि इस मामले में VHost प्रविष्टि कैसे दिखाई देगी। मान लीजिए कि मैं इसे C: / proj / testdrupal में स्थानांतरित करना चाहता हूं। मुझे आशा है कि मैंने आपको पूरी तरह से गलत नहीं समझा।

जवाबों:


14

उत्तर देने से पहले, ड्रुपल को मॉड्यूल कैसे मिलता है, इसके बारे में थोड़ा पृष्ठभूमि होना मददगार है। Drupal, Drupal रूट के सुझावों की एक सूची का उपयोग करके यह पता लगाता है कि मॉड्यूल कहाँ खोजे जाएँ। प्राथमिकता के क्रम में:

  1. sites/$SITENAME/modules
  2. sites/all/modules
  3. profiles/$INSTALLPROFILE/modules
  4. modules

यदि Drupal को (1) में कोई मॉड्यूल नहीं मिलता है , तो यह जांचता है (2) । यदि यह नहीं है, तो यह जांच करता है (3) , और इसी तरह।

के लिए (1) , अगर आप सिर्फ एक बुनियादी, एकल साइट Drupal के स्थापित का उपयोग कर रहे $SITENAMEहै default। अन्यथा:

  • Drupal 6 में, $SITENAMEसाइट का होस्ट नाम है। यदि आपकी साइट पर स्थित है example.com, $SITENAMEतो होगा example.com
  • Drupal 7 में, $SITENAMEको परिभाषित किया गया है sites/sites.php। यदि आप देखते हैं example.sites.php, तो आप इसे परिभाषित करने का तरीका देख सकते हैं। यह भी ध्यान रखना महत्वपूर्ण है कि वहाँ सूचीबद्ध कोई मॉड्यूल केवल उस विशिष्ट साइटों के लिए उपयोग करने योग्य होगा, सभी साइटों के लिए नहीं।

में (2) , किसी भी मॉड्यूल पाया Drupal स्थापना में किसी भी साइट पर प्रयोग करने योग्य नहीं होगा। जब आप कोर इंस्टॉलेशन को अपग्रेड करते हैं तो यह भी अछूता नहीं रहेगा। यह निश्चित रूप से, मॉड्यूल डालने की अनुशंसित जगह है और आपके द्वारा पढ़े गए सभी दस्तावेज़ों की संभावना है कि आपने अपने मॉड्यूल को यहां रखने के लिए कहा है।

(3) का उपयोग इंस्टॉलेशन प्रोफाइल के लिए किया जाता है जिसके लिए एक विशिष्ट मॉड्यूल की आवश्यकता होती है। स्थापना प्रोफ़ाइल अनिवार्य रूप से एक Drupal साइट के लिए एक कस्टम प्रारंभिक अवस्था को परिभाषित करने का एक तरीका है। उदाहरण के लिए, Drupal में निर्मित दो इंस्टॉलेशन प्रोफाइल के साथ आता है: मानक, जिसमें सबसे अधिक उपयोग की जाने वाली विशेषताएं शामिल हैं, और न्यूनतम, जिसमें केवल Drupal साइट के कार्य करने के लिए आवश्यक नंगे न्यूनतम शामिल हैं।

(4) का उपयोग द्रुपाल कोर द्वारा किया जाता है। जब आप तकनीकी रूप से यहां मॉड्यूल जोड़ सकते हैं और वे सभी साइटों के लिए उपलब्ध होंगे, तो आपको नहीं करना चाहिए। गंभीरता से। modulesफ़ोल्डर जब Drupal कोर अद्यतन किया जाता है को छुआ है, और लाइन नीचे समस्याएं पैदा होगा तुम वहाँ कार्य करने के लिए मॉड्यूल आप अपनी साइट के लिए की जरूरत चिपका रहे हैं।


अब जबकि पृष्ठभूमि रास्ते से बाहर है, तो आप अपने सिस्टम को ड्रूपल के बाहर रखने के लिए फ़ाइल सिस्टम ट्रिक का उपयोग कर सकते हैं।

उदाहरण के लिए, आप Drupal स्थापना के बाहर किसी अन्य निर्देशिका से प्रतीकात्मक लिंक सेट कर सकते हैं sites/all/modules:

  • यूनिक्स / लिनक्स / बीएसडी-आधारित प्रणालियों में: ln -s /path/to/modules/folder /path/to/drupal/sites/all/modules
  • Windows Vista / Server 2008/7 और उच्चतर पर: mklink C:\path\to\drupal\sites\all\modules C:\path\to\custom\modules\folder

जहाँ तक मुझे जानकारी है, वहाँ बहुत कुछ नहीं है जो आप विंडोज के पुराने संस्करणों में कर सकते हैं जिसमें mklink नहीं है ।


बहुत बहुत धन्यवाद, यह वास्तव में इसे समझाता है, लेकिन मुझे अभी भी इसे काम करने में परेशानी हो रही है। क्या आप मेरी पोस्ट में संपादन अनुभाग देख सकते हैं। यह यहां से अधिक फिट हो सकता है। धन्यवाद।
sameold

@sameold मैंने तय किया है और प्रतीकात्मक लिंक के बारे में स्पष्ट किया है। विंडोज पर, प्रतीकात्मक लिंक थोड़े स्केच हैं, लेकिन मेरा मानना ​​है कि मैंने जो आदेश दिया है वह काम करना चाहिए।

3

Drupal 7 में, निर्देशिकाएं जहां Drupal मॉड्यूल की तलाश करती हैं, वे निम्नलिखित हैं:

  • मॉड्यूल
  • प्रोफाइल / $ प्रोफ़ाइल / मॉड्यूल
  • $ Config / मॉड्यूल

$ प्रोफ़ाइल drupal_get_profile () से लौटाया गया मान है ; $ config मान_पथ () से लौटाया गया मान है ।
फ़ंक्शन जो सिस्टम ऑब्जेक्ट फ़ाइलों (मॉड्यूल, थीम आदि) के लिए खोज करता है, drupal_system_listing () है

Drupal में समान निर्देशिका की तलाश की जाती है। केवल अंतर यह है कि $ प्रोफ़ाइल एक वैश्विक चर है; जब वैश्विक चर सेट नहीं होता है, तो फ़ंक्शन को "install_profile" लगातार चर का मान मिलता है, जिसका डिफ़ॉल्ट मान "डिफ़ॉल्ट" होता है।


2

आप उन्हें या तो साइटों / सभी / मॉड्यूल में रख सकते हैं, फिर वे सभी साइटों (यदि आपके पास एक बहु-साइट कॉन्फ़िगरेशन हैं) में उपलब्ध होंगे, साइटों में / डिफ़ॉल्ट साइट के लिए डिफ़ॉल्ट / मॉड्यूल / साइट / site.com / मॉड्यूल में तुम्हारे पास वह है। बाद की निर्देशिकाओं के लिए, इसका मतलब है कि वे केवल उस विशिष्ट साइट पर उपलब्ध होंगे।

इसके अतिरिक्त, आप उन्हें उन फ़ोल्डरों के नीचे व्यवस्थित कर सकते हैं, जिनका अर्थ है, आप वहां जो भी उप-फ़ोल्डर बना सकते हैं। करने के लिए एक विशिष्ट बात एक कंट्रीब फ़ोल्डर बना रही है और फिर उस साइट से डाउनलोड किए गए मॉड्यूल को कस्टम फ़ोल्डर में उस साइट के लिए स्व-लिखित मॉड्यूल रखते हुए किया जाता है।


1

निश्चित नहीं है कि आपका क्या मतलब है, लेकिन हम 3-पार्टी मॉड्यूल से इन-हाउस मॉड्यूल के कुछ सामान्य सम्मेलन का उपयोग करते हैं।

'होम-मेड' कस्टम मॉड्यूल में होगा:

साइटों / सभी / मॉड्यूल / कस्टम

3 पार्टी मॉड्यूल में होगा:

साइटों / सभी / मॉड्यूल / विक्रेता

यदि उपनिर्देशिकाएं आपकी आवश्यकताओं से मेल नहीं खाती हैं, तो मेरा मानना ​​है कि आप आसानी से अपने ड्रुपल के मॉड्यूल डायरेक्टरी में अपने / अस्पष्ट / पथ / से / मॉड्यूल निर्देशिका को सहानुभूति दे सकते हैं।

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