drupal - Drupal Theming 中的 'engine' 指的是什么?

标签 drupal template-engine preprocessor theming

我一直在阅读有关 Drupal 主题和预处理功能的信息,并注意到它们列出了 engineName_engine_preprocessengineName_engine_preprocess_hook 按照预处理函数的顺序,但我不完全确定引擎层是什么?我了解核心、包含、模块和主题。

非常感谢

最佳答案

我尽量让它变得非常简单。

Drupal 中的模板引擎是将来自 Drupal 的数据与来自主题的模板相结合并向用户显示结果(最终的 HTML)的软件组件。

   
    +-----------+        +----------------+
    | Data from |        | Templates from |
    |  Drupal   |        |     theme      |
    +-----------+        +----------------+
          |                       |
          v      +--------+       v
          +------| Theme  |-------+
                 | Engine |
                 +--------+
                     |
                     v
              +-------------+
              |  Final HTML |
              +-------------+               

为什么 Drupal 使用主题引擎?因为不同的开发人员有不同的编码品味,Drupal 不想直接处理不同的模板“编码风格”。

如果您正在学习 Drupal 主题设计,则不需要了解主题引擎设计。如今,几乎所有 Drupal 主题都使用一个引擎:PHPTemplate,在我看来,它非常棒。如果你想设计高级主题,你只需要知道主题引擎API。对于基本用法,甚至 API 知识也不是必须的。

作为一个简单的开始,尝试回顾和调整一个简单的 Drupal 主题——比如 Bluemarine

关于drupal - Drupal Theming 中的 'engine' 指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585105/

相关文章:

html - CSS 位置固定了一些;我希望它位于绝对底部,而 body 位于它的正上方

html - 寻找一种方法来模拟不规则形状的 DIV

google-app-engine - 从外部 URL 加载 Freemarker 模板

template-engine - 如何在 mustache 模板中引用包含点的字段名称?

c++ - 想要 GCC 预处理器的清晰解释

javascript - Gulp CJSX 渲染编译错误

amazon-web-services - 更改 SageMaker 上训练模型的预处理

php - 如何在 View 中设置 "is not equal current nid"过滤器

javascript - 如何在 angularjs 应用程序中解析 Drupal JSON 数据

java - 将 Velocity 配置为在未定义的 $variable 上失败