drupal 7 – ¿Cómo puede un módulo detectar cuándo se emite la página de "acceso denegado"?

Pregunta:

¿Cómo es posible que un módulo detecte cuando Drupal está generando la página de "acceso denegado"?
Sé cómo hacerlo con Drupal 6; Necesito saber cómo hacerlo con Drupal 7.

Respuesta:

Hago esto en Boost 7.x. No es bonito, pero hace el trabajo.

function boost_page_delivery_callback_alter(&$callback, $set = FALSE) {
  if ($callback == 'drupal_deliver_html_page') {
    $callback = 'boost_deliver_html_page';
  }
}

function boost_deliver_html_page($page_callback_result) {
  global $_boost;

  // Menu status constants are integers; page content is a string or array.
  if (is_int($page_callback_result)) {
    // @todo: Break these up into separate functions?
    switch ($page_callback_result) {

      // …

      case MENU_ACCESS_DENIED:
        // 403 page.
        $_boost['menu_item']['status'] = 403;
        break;

      // …

    }
    // …
  }
  // …   
}

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım