如何替换从Drupal中的模块加载的page.tpl.php?

如何替换从Drupal中的模块加载的page.tpl.php?,drupal,drupal-6,Drupal,Drupal 6,我在Drupal中有一个自定义模块,用于输出序列化的数据转储。我希望此页面中的转储似乎不使用活动主题。相反,我只希望数据转储不显示任何HTML标记、主题、JS、CSS等。只显示转储(其他网站将使用它) 如果我在主题级别上这样做,我只需创建一个新的page.tpl.php文件,用于显示特定的内容类型,而无需任何主题、HTML等。但是我需要在模块级别上这样做,因为模块创建的这一页将安装在不同的Drupal站点上 有没有办法在模块级禁用所有主题化并控制模块页面的HTML包装输出?如果可能的话,我真正想

我在Drupal中有一个自定义模块,用于输出序列化的数据转储。我希望此页面中的转储似乎不使用活动主题。相反,我只希望数据转储不显示任何HTML标记、主题、JS、CSS等。只显示转储(其他网站将使用它)

如果我在主题级别上这样做,我只需创建一个新的page.tpl.php文件,用于显示特定的内容类型,而无需任何主题、HTML等。但是我需要在模块级别上这样做,因为模块创建的这一页将安装在不同的Drupal站点上

有没有办法在模块级禁用所有主题化并控制模块页面的HTML包装输出?如果可能的话,我真正想做的就是“关掉它”


我正在运行Drupal 6。

这是一种不同的方法,但对我来说一直都很有效

在模块中调用页面回调时,只需打印或回显数据而不返回函数,而不返回数据(将对其进行主题化)

对于给定的用例(输出用于自动消费的原始数据),Chris answer无疑是一条可行之路(+1)

为了完整起见,为了明确回答从模块中替换page.tpl.php的问题,还可以实现一个函数。在该函数中,
$variables['template\u files']
将包含一个文件名建议数组。与Drupal实例中现有*.php.tpl文件匹配的第一个条目将用作该请求的page.tpl.php文件,因此将现有条目替换为“moduleName_page.tpl.php”将导致该条目用于页面主题化


当然,必须确保没有其他模块在之后再次操纵这些建议。或者,您也可以将文件名放入
$variables['template\u file']
-稍后将与
$variables['template\u files']
合并,但“template\u file”条目将作为第一个条目结束。

。Drupal核心也做同样的事情,例如,请参见。