2010-06-11 11 views

उत्तर

5

दुर्भाग्यवश, फिलहाल नहीं। विशेषताएं मूल रूप से ऐसी चीजों से मिलती हैं जिन्हें विभिन्न घटनाओं के हुक के माध्यम से ड्रूपल में स्पष्ट रूप से निर्यात और आयात किया जा सकता है। थीम्स एक पूरी तरह से अलग जानवर हैं।

सैद्धांतिक रूप से, अगर आप (उदाहरण के लिए अपनी खुद की सामग्री प्रकार के लिए कस्टम tpl.php फ़ाइलें) अपने फ़ीचर में कुछ मार्कअप ओवरराइड करना चाहते, तो आप कस्टम tpl.php फ़ाइल और सुविधा के मॉड्यूल में विषय से संबंधित हुक का उपयोग शामिल हो सकते हैं ड्रूपल को यह बताने के लिए फ़ाइल करें कि टेम्पलेट्स आपके मॉड्यूल की निर्देशिका में हैं।

1

ईटन के उत्तर के अतिरिक्त। आप YOUR_FEATURE.module में hook_theme_registry_alter उपयोग कर सकते हैं यदि आप किसी अन्य मॉड्यूल द्वारा प्रदान की मौजूदा टेम्पलेट (एक .tpl.php फ़ाइल) ओवरराइड करने के लिए की जरूरत है: इस के लिए

function YOUR_FEATURE_registry_alter($theme_registry) { 
    $originalpath = array_shift($theme_registry['TEMPLATE']['theme paths']); 
    $featurepath = drupal_get_path('module', 'YOUR_FEATURE') .'/themes'); 
    array_unshift($theme_registry['TEMPLATE']['theme paths'], $originalpath, $featurepath); 
} 

आदेश में काम करने के लिए, अपनी सुविधा के लिए एक वजन अधिक से अधिक होना चाहिए ओवरराइड टेम्पलेट प्रदान करने वाले मॉड्यूल में से एक की तुलना में। तो YOUR_FEATURE.install में आपके पास

function YOUR_FEATURE_install() { 
    db_query("UPDATE {system} SET weight = 10 WHERE name = 'YOUR_FEATURE'"); 
} 
जैसे कुछ होगा