препроцесс Vs. функции процесса в друпале - PullRequest
15 голосов
/ 20 мая 2011

В чем разница между

function mythemes_preprocess_html(&$variables) { ... }

и

function mythemes_process_html(&$variables) { ... }

в друпале 7 template.php.

когда необходимо использовать функции предварительной обработки, а когда необходимо использовать функции процесса.

спасибо.

Ответы [ 3 ]

12 голосов
/ 18 июля 2011

Они фактически одно и то же, хотя и называются в разных фазах. Функции предварительной обработки вызываются первыми и вносятся изменения. Затем функции процесса вызываются на более позднем этапе и позволяют вносить изменения для изменения любых изменений, внесенных на этапе предварительной обработки.

См. http://drupal.org/node/223430 для получения дополнительной информации.

1 голос
/ 24 ноября 2012

Точнее, из документации API Drupal:

Если реализация представляет собой файл шаблона, перед вызовом файла шаблона вызывается несколько функций для изменения массива $ variable.Они попадают в фазу «предварительной обработки» и фазу «обработки» и выполняются (если они существуют) в следующем порядке (обратите внимание, что в следующем списке HOOK указывает имя ловушки темы, MODULE указывает имя модуля, THEMEуказывает название темы, а ENGINE указывает имя движка темы): (источник: http://api.drupal.org/api/drupal/includes!theme.inc/function/theme/7)

И если вы перейдете по ссылке выше, она будет перечислять, по порядку, всю прогрессию темы (), от функций процесса до функций предварительной обработки до самого файла шаблона.

0 голосов
/ 05 апреля 2014

На какую стадию процесса вы хотите повлиять, для этого есть два варианта:

  1. Функция предварительной обработки: она запускается первой.
  2. Функция процесса: запускается после того, как все функции предварительной обработки были выполнить.
...