थीम के बजाय मॉड्यूल के साथ व्यू टेम्प्लेट को कैसे स्टोर करें


13

मैंने कई दृश्य टेम्पलेट बनाए हैं जो वर्तमान में मेरी सक्रिय थीम निर्देशिका में संग्रहीत हैं। पसंद करेंगे कि ये टेंपलेट मेरे माड्यूल डायरेक्टरी के भीतर स्टोर किए जाएं।

मेरा प्रश्न यह है कि मैं अपने मॉड्यूल निर्देशिका में इन थीम फ़ाइलों (उदाहरण के लिए view-view-field.tpl.php) को कैसे ला सकता हूं और क्या उन्हें व्यू द्वारा देखा जा सकता है?

दृश्य मॉड्यूल को देखते हुए, मैं देख सकता हूं कि डिफ़ॉल्ट टेम्प्लेट दृश्य / थीम में संग्रहीत हैं, लेकिन मैं यह नहीं देखता कि इसे कैसे लागू किया गया है।

जवाबों:


29

मुझे यह पता लगाने में थोड़ा समय लगा। निम्न कोड को आपके .module फ़ाइल में रखा जाना चाहिए (कोड मानता है कि आपका मॉड्यूल "NAME" कहलाता है)

/**
* Implements hook_views_api().
*
* Enabling using templates inside module
*/
function NAME_views_api() {
  return array(
    'api' => 3,
    'path' => drupal_get_path('module', 'NAME'),
    'template path' => drupal_get_path('module', 'NAME'),
  );
}

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

'template path' => drupal_get_path('module', 'NAME') . '/templates',

उन्हें एक उप-निर्देशिका में जोड़ना एक शानदार विचार है, चीजों को साफ करता है और यह पूरी तरह से काम करता है। भविष्य के खोजकर्ता आपके Drupal कैश को साफ़ करना सुनिश्चित करते हैं। साभार @Reekan Mantell
Citricguy

धन्यवाद! मैं अपने व्यवस्थापक विषय को हैक करने के लिए महीनों से सात में एक विचार क्षेत्र की सवारी कर रहा हूं। अब मेरे पास नहीं है।
JM01

और मुझे कहना होगा कि आप अभी भी अपनी थीम में TPL डाल सकते हैं, भले ही आपने यह कोड लागू किया हो। धन्यवाद।
अनौ

2
यह फ़ीचर मॉड्यूल के साथ काम नहीं करेगा, इसके बजाय यहां दिए गए अनुसार उपयोग hook_views_api_alter()करें: deeson.co.uk/labs/views-templates-features-module
ऑब्रे रॉबर्टसन

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