আমি আমার মডিউলে টেম্পলেট বাস্তবায়ন সরবরাহ করতে এবং থিমগুলিকে এটিকে ওভাররাইড করার অনুমতি দিতে চাই। মূলত, আমি এই সরলীকৃত কোড দ্বারা একটি পরামর্শ যুক্ত:
function attach_preprocess_node(&$vars) {
$vars['theme_hook_suggestions'][] = 'node__test';
}
(আমি কোনও নতুন থিম যুক্ত করতে হুক_থিম ব্যবহার করতে চাই না কারণ আমি প্রিপ্রসেস নোড ফাংশনগুলি পুনরায় ব্যবহার করতে চাই The থিমের নামটি বিশিষ্ট তবে নোডের সাথে বিভ্রান্তি এড়াতে আমি নোড_ সংযুক্তি _% লিখতে চাই না ))
তারপরে আমি মডিউল পথ যুক্ত করতে হুক_থেম_গ্রিজি_াল্টার () ব্যবহার করি:
function attach_theme_registry_alter(&$theme_registry) {
$path = drupal_get_path('module', 'attach') . '/themes';
$theme_registry_copy = $theme_registry;
_theme_process_registry($theme_registry_copy, 'phptemplate', 'theme_engine', 'node', drupal_get_path('module', 'node'));
$theme_registry += array_diff_key($theme_registry_copy, $theme_registry);
if (!isset($theme_registry['node']['theme paths'])) {
$theme_registry['node']['theme paths'] = array();
}
if (!isset($theme_registry['node']['theme paths'])) {
$first_element = array_shift($theme_registry['node']['theme paths']);
if ($first_element) {
array_unshift($theme_registry['node']['theme paths'], $first_element, $path);
}
else {
array_unshift($theme_registry['node']['theme paths'], $path);
}
}
}
যাইহোক, এটা কাজ করে না. তার অর্থ: ফাইল থিম / নোড - সুপার.tpl.php ব্যবহৃত হয় না। আমি এটি থিম ফোল্ডারে অনুলিপি করলেই এটি ব্যবহৃত হয়।