モジュールディレクトリでテンプレートを探すようにDrupalに指示する方法
モジュールにテンプレート実装を提供し、テーマがそれをオーバーライドできるようにしたいと思います。基本的に、私はこの簡略化されたコードによる提案を追加します: function attach_preprocess_node(&$vars) { $vars['theme_hook_suggestions'][] = 'node__test'; } (プリプロセスノード関数を再利用したいので、hook_themeを使用して新しいテーマを追加したくありません。テーマ名は扱いにくいですが、ノードタイプとの混同を避けるためにnode_ attach _%を記述したくありません。) 次に、hook_theme_registry_alter()を使用してモジュールパスを追加します。 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 …