Drupal特性包括主题

Drupal特性包括主题,drupal,Drupal,是否可以在Drupal特性中包含主题?如果是这样,怎么办?不幸的是,目前还没有。特性基本上包括可以通过各种事件挂钩从Drupal导出并导入到Drupal的内容。主题是完全不同的动物 理论上,如果您想覆盖功能中的一些标记(例如,您自己的内容类型的自定义tpl.php文件),您可以包括自定义tpl.php文件,并在功能的模块文件中使用与主题相关的挂钩,让Drupal知道模板在您的模块目录中。除了Eaton的答案之外。如果您需要覆盖另一个模块提供的现有模板(一个.tpl.php文件),您可以在_FEA

是否可以在Drupal特性中包含主题?如果是这样,怎么办?

不幸的是,目前还没有。特性基本上包括可以通过各种事件挂钩从Drupal导出并导入到Drupal的内容。主题是完全不同的动物


理论上,如果您想覆盖功能中的一些标记(例如,您自己的内容类型的自定义tpl.php文件),您可以包括自定义tpl.php文件,并在功能的模块文件中使用与主题相关的挂钩,让Drupal知道模板在您的模块目录中。

除了Eaton的答案之外。如果您需要覆盖另一个模块提供的现有模板(一个.tpl.php文件),您可以在_FEATURE.module中使用:

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);
}
为了使其工作,您的特性的权重应该大于提供覆盖模板的模块的权重。因此,在您的_FEATURE.install中,您将有如下内容

function YOUR_FEATURE_install() {
   db_query("UPDATE {system} SET weight = 10 WHERE name = 'YOUR_FEATURE'");
}