Бага с темами в админке блоков?

Главные вкладки

Аватар пользователя Lvl Lvl 28 июля 2008 в 18:41

Сижу, изучаю темизацию друпала, прикручиваю готовую верстку.
Добавил новую тему. Для одного пользователя выбрал её (не для администратора).
Пошел играться с блоками. Переключаюсь на свою тему ( /admin/build/block/list/mytheme ), меняю, сохраняюсь. Выбрасывает на garland и ничего в моей теме не меняется.
Полез в код:
block.module.php:

function block_admin_display($theme = NULL) {
  global $theme_key, $custom_theme;

  if ($theme) {
    $custom_theme = $theme;
  }
  else {
    $custom_theme = variable_get('theme_default', 'garland');
  }
  init_theme();

...
  $form['#action'] = arg(3) ? url('admin/build/block/list/'. $theme_key) : url('admin/build/block');

Получается, что в переменной $custom_theme выбранная в админке тема (mytheme), но сохранение идет на страницу темы, которая указывается в $theme_key. А там...правильно, там сидит имя темы, которая выбрана у данного пользователя (в данном случае garland). Это тем более видно, если посмотреть в функцию init_theme(), которая похоже как раз отрабатывать такие изменения, но данный код:

  if (isset($theme)) {
    return;
  }

не позволяет им срабатывать. Впрочем если этот код закомментировать, то все равно работать не будет. Либо ещё есть ошибки, либо ошибка в block_admin_display().

Кто-нибудь может подтвердить?

Комментарии