1

在我学习的过程中,Drupal 的模板文件变成了 PHP 文件。现在从技术角度来看,就它们的执行和解释方式而言,它们是否只是用作模板的 PHP 文件,因此在技术上可以将它们视为 XYZ 条件下的 PHP 文件,或者它们是否被解析并视为非 PHP 或作为一些特殊的或修改过的PHP?

4

2 回答 2

1

此链接提供了有关主题如何在 Drupal 中发挥作用的详细信息。

模板文件 (.tpl.php)

这些模板用于 (x)HTML 标记和 PHP 变量。在某些情况下,它们可能会输出其他类型的数据——例如,xml rss。每个 .tpl.php 文件处理特定主题数据块的输出,在某些情况下,它可以通过建议处理多个 .tpl.php 文件。它们是可选的,如果您的主题中不存在它们,它将回退到默认输出。避免在这些文件中包含复杂的逻辑。在大多数情况下,它应该是直接的 (x)HTML 标记和 PHP 变量。其中一些模板存在于核心模块和贡献模块所在的目录中。将它们复制到您的主题文件夹将强制 Drupal 读取您的版本。

此外,如果您想详细了解 TPL 文件是什么,无论使用它的系统如何,您都可以查看此链接。

于 2013-07-19T07:06:33.520 回答
0

如果您查看主题 api,它会说:

Drupal 的默认模板渲染器是一个简单的 PHP 解析引擎,它包含模板并存储输出。Drupal 的主题引擎可以提供替代模板引擎,例如 XTemplate、Smarty 和 PHPTal。最常见的模板引擎是 PHPTemplate(包含在 Drupal 中并在 phptemplate.engine 中实现,它使用 Drupal 的默认模板渲染器。

当它说“解析引擎”时,我不确定实际进行了多少解析。我相信对于模板文件,它只在处理过程中包含源,并在适当的时候缓存结果。

因此,要回答您的问题,您应该能够将任何您喜欢的 php 代码放入 tpl.php 文件中,尽管理想情况下,这些文件将仅包含用于逻辑和打印值的基本 php。

于 2013-07-19T11:54:00.663 回答