Drupal → Возвращаем ссылку "Включить Theme Developer"

28.04.2010

Раньше, когда проект Theme Developer был в составе Devel, в меню Development была удобнейшая ссылка, которая включала/выключала этот модуль:

Восстановить пункт меню можно так:

Drupal 6

/**
 * Реализация hook_menu()
 */
function mymodule_menu() {
  $items['toggle_themer_developer'] = array(
    'title' => 'Toggle Theme Developer',
    'page callback' => 'mymodule_toggle_themer_developer',
    'access arguments' => array('access devel information'),
    'menu_name' => 'devel',
  );
  return $items;
}

/**
 * Menu callback для url "toggle_themer_developer"
 */
function mymodule_toggle_themer_developer() {
  if (module_exists('devel_themer')) {
    module_disable(array('devel_themer'));
  }
  else {
    include_once('./includes/install.inc');
        
    if (!drupal_get_schema_versions('devel_themer')) {
      drupal_install_modules(array('devel_themer'));
    }
    else {
      module_enable(array('devel_themer'));
    }
  }
  
  drupal_rebuild_theme_registry();
  menu_rebuild();
  drupal_goto();
}

Cкачать этот код в виде модуля.

Drupal 7

/**
 * Реализация hook_menu()
 */
function mymodule_menu() {
  $items['toggle_themer_developer'] = array(
    'title' => 'Toggle Theme Developer',
    'page callback' => 'mymodule_toggle_themer_developer',
    'access arguments' => array('access devel information'),
    'menu_name' => 'devel',
  );
  return $items;
}

/**
 * Menu callback для url "toggle_themer_developer"
 */
function mymodule_toggle_themer_developer() {
  if (!module_exists('devel_themer')) {
    module_enable(array('devel_themer'), FALSE);
  }
  else {
    module_disable(array('devel_themer'), FALSE);
  }
  drupal_flush_all_caches();
  drupal_goto();
}

Cкачать этот код в виде модуля.

Написанное актуально для
Drupal 6, Drupal 7
Похожие записи

Комментарии

Виктор
22.08.2010, 23:56

Спасибо, так гораздо удобней, а то сам модуль Theme developer нужный, но во включенном состоянии разные "сюрпризы" преподносит, к примеру на странице разрешений в заголовках с названием модулей появляются лишние теги span, модуль облака тегов на флеше котоырй перестает работать, и лазить на страницу модулей чтоб включить/выключить не очень удобно, с пунктом меню куда удобней, еще раз спасибо))

П.С. хороший у вас блог, я только недавно начал изучать друпал, и с вашей помощью узнал и решил не мало вопросов!

Добавить комментарий