Принудительно заблокировать страницу, чтобы использовать тему администратора?


Я пытаюсь использовать этот фрагмент, который я нашел, но он выдает следующую ошибку:

function mytheme_init() {
  // Hardcode the administration theme onto the blocks page
  if ($_GET['q'] == 'admin/build/block') {
    global $theme;
    $theme = 'rubik';
  }
}

Неустранимая ошибка: Неподдерживаемые типы операндов в /var/www/клиенты/client4/web39/web/модули/блок/block.admin.inc в строке 39

Строка $theme = 'rubik'; кажется, в чем-то виновата, так как она не выдает ошибку, если я ее прокомментирую.

 1
Author: Joren, 2011-08-09

2 answers

Вы должны использовать глобальную переменную $custom_theme.
Реализация вашего hook_init() хороша.

 3
Author: tostinni, 2011-08-10 00:57:27

Для этого есть хороший модуль: Тема администрирования.

Drupal позволяет вам определить другую тему для страниц администрирования (Администрирование - > Конфигурация сайта -> Тема администрирования). По умолчанию это относится только к страницам, путь к которым начинается с "администратор" и страниц редактирования содержимого.
Модуль темы администрирования позволяет использовать эту тему на других страницах, таких как:

  • страницы пакетной обработки
  • разработать нагрузку на узел и визуализация страниц
  • страницы обзора кода кодировщика
  • страницы, которые вы определяете сами в предоставленной текстовой области
 2
Author: lenni, 2011-08-12 01:24:05