Что означает «двигатель» в тематике Drupal?

Я читал о функциях создания тем и предварительной обработки Drupal и заметил, что они перечислили engineName _engine_preprocess и engineName _engine_preprocess_hook в порядок функций предварительной обработки, но я не совсем уверен, что такое уровень движка? Я разбираюсь в ядре, включениях, модулях и темах.

Большое спасибо


person screenm0nkey    schedule 06.04.2010    source источник


Ответы (2)


Движок - это используемый шаблонизатор. По умолчанию Drupal использует движок PHPTemplate, но вы можете использовать другие движки шаблонов и, таким образом, создавать различные обработчики препроцессора в зависимости от типа движка.

Механизм шаблонов - это то, что используется для запуска кода в шаблонах. Существуют разные типы шаблонизаторов, которые позволят вам делать разные вещи с разным синтаксисом в ваших шаблонах, разными способами передачи ваших переменных в шаблон и т. Д. PHPTemplate использует файлы, заканчивающиеся на .tpl.php. Итак, все эти работают, потому что есть некоторый код, который может их интерпретировать.

Прочтите дополнительную информацию о PHPTemplate (немного старой истории)

person googletorp    schedule 06.04.2010
comment
Извините за громоздкость, но я до сих пор не знаю, что такое шаблонизатор? Это тема по умолчанию? Каждый раз, когда я выполняю поиск в системе шаблонов, я всегда возвращаюсь к тематике. - person screenm0nkey; 06.04.2010
comment
Спасибо, googletorp. Я только что получил копию разработки Pro Drupal, так что надеюсь, что это поможет мне в понимании Drupal. - person screenm0nkey; 06.04.2010
comment
Я знаю, что это действительно старый ответ, но для полноты картины Drupal 8 использует Twig вместо PHPTemplate: drupal.org/theme-guide/8/twig - person dain; 24.03.2015

Я стараюсь сделать это очень просто.

Механизмы шаблонов в 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.

person farzan    schedule 06.04.2010