Добавление HTTP заголовков с помощью #attached

Для добавления заголовков HTTP в Drupal 7 используется функция drupal_add_http_header. Но также имеется возможность добавить header в рендерном массиве с помощью свойства #attached. Для этого добавляем в attached элемент с ключом drupal_add_http_header.

Для примера добавим заголовок к форме и таким образом при обращении к страницам с данной формой будут отдаваться необходимые заголовки:


/**
 * Implements hook_form_alter().
 */
function MYMODULE_form_alter (&$form, &$form_state, $form_id) {
  if ($form_id == 'form_id') {
    $form['#attached']['drupal_add_http_header'] = array(
      array('Cache-Control', 'no-cache, no-store, must-revalidate')
    );
  }
}