Admin menu verbergen op bepaalde pagina's

Soms is het wenselijk om admin menu niet te tonen op een bepaald pad. De use case waar ik zelf mee te maken had was het renderen van een drupal pagina in een iframe.

Dit kan vermoed ik met css wel bewerkstelligd worden, maar ik vind het mooier om daarvoor de in drupal 7 ge├»ntroduceerde hook_js_alter() te gebruiken. 

Mijn implementatie ziet er als volgt uit:

function MYMODULE_js_alter(&$js) {
  if (module_exists('admin_menu') && in_array(current_path(), MYMODULE_get_paths())) {
    // We need to disable admin menu inside the iframe.
    $path = drupal_get_path('module', 'admin_menu');
    
    foreach ($js as $key => $value) {
      if (0 === strpos($key, $path)) {
        unset($js[$key]);
      }
    }
  }
}

Reactie toevoegen