Пользовательская тема Magento Admin не работает

У меня есть класс Observer, где я всегда использовался для установки нового шаблона magento.

<?php

class Company_Customadmintheme_Controller_Observer
{ 
    public function overrideAdminTheme()
    {
        //if(Mage::getStoreConfig('design/admin/enable_admin_custom_theme') == 1)
            Mage::getDesign()->setArea('adminhtml')->setTheme('custom');
    }
}

и в моем конфиге xml

<?xml version="1.0"?>
<config>
  <global>
    <models>
        <comapnycustomadminthemecontroller>
             <class>Comapny_Customadmintheme_Controller</class>
        </comapnycustomadminthemecontroller>
    </models>
    <events>
      <adminhtml_controller_action_predispatch_start>
        <observers>
          <comapny_adminthemeoverride_observer>
            <type>singleton</type>
            <class>Comapny_Customadmintheme_Controller_Observer</class>
            <method>overrideAdminTheme</method>
          </comapny_adminthemeoverride_observer>
        </observers>
      </adminhtml_controller_action_predispatch_start>      
    </events>
  </global>
</config>

У меня есть это. Он отлично работает для главного администратора, который был создан во время установки.

Теперь у нас есть много пользователей-администраторов, которые смогут входить в систему и добавлять только продукты. Но по какой-то причине он по-прежнему показывает шаблон/скин magento по умолчанию и не выбирает пользовательский шаблон (по-прежнему работает в основном пользователе-администраторе, который может получить доступ ко всем модулям/ конфиг).

Таким образом, чтобы пользователи каталога также могли видеть один и тот же шаблон, мне нужно указать что-либо в xml.

В классе наблюдателя, когда я пытался увидеть текущий шаблон/скин, я все еще вижу следующий массив для обоих пользователей.

object(Mage_Core_Model_Design_Package)#92 (8) {
  ["_store:protected"] => NULL
  ["_area:protected"] => string(9) "adminhtml"
  ["_name:protected"] => string(7) "default"
  ["_theme:protected"] => array(4) {
    ["layout"] => string(6) "custom"
    ["template"] => string(6) "custom"
    ["skin"] => string(6) "custom"
    ["locale"] => string(6) "custom"
  }
  ["_rootDir:protected"] => NULL
  ["_callbackFileDir:protected"] => NULL
  ["_config:protected"] => NULL
  ["_shouldFallback:protected"] => bool(true)
}

Примечание. Мой скин/папка имеет модифицированный CSS для нового администратора мага, а в папке шаблона есть только page/head.phtml для загрузки дополнительного CSS.

Пожалуйста, может кто-нибудь помочь мне, почему я не могу видеть один и тот же шаблон для пользователей администратора/каталога.


person Elamurugan    schedule 07.03.2012    source источник
comment
просто догадайтесь, это может быть связано с магазином. вы пытались указать идентификатор магазина?   -  person Oğuz Çelikdemir    schedule 07.03.2012
comment
Привет OSdave, в чем проблема с вопросом?   -  person Elamurugan    schedule 08.03.2012
comment
Привет, Огуз, ничего не происходит, даже если убрать проверку состояния. Смотрите мой обновленный код.   -  person Elamurugan    schedule 08.03.2012


Ответы (2)


Это неправильный способ использования пользовательской темы для вашего бэк-офиса.

Magento уже реализует это. Вам просто нужно поместить это в любой из ваших config.xml (тот, что в app/etc или в любом из ваших пользовательских модулей.

<?xml version="1.0" encoding="UTF-8"?>
<config>
   <stores>
      <admin>
         <design>
            <theme>
               <default>custom</default>
            </theme>
         </design>
      </admin>
   </stores>
</config> 

При этом Magento будет искать ваши шаблоны дизайна в app/design/adminhtml/default/custom с аварийным переключением на app/design/adminhtml/default/default и ваши ресурсы дизайна в skin/adminhtml/default/custom с аварийным переключением на скин. /adminhtml/по умолчанию/по умолчанию

person JBreton    schedule 10.04.2012

ПОЧИНИЛ ЭТО!

Проблема была не в Системе › Конфигурации › Дизайне, а в Системе › Дизайне. Я обнаружил, что Система › Дизайн настроен по умолчанию/ Покупатель, и для этого не было временных рамок. Следующая ссылка помогла мне прийти к выводу.

http://www.magentocommerce.com/boards/viewthread/197908/

Вы должны использовать Система › Дизайн для временных изменений темы, но на моем сайте он был установлен без временных рамок, поэтому мои настройки всегда переписывались в Система › Конфигурация › Дизайн.

person Kevin Schaeken    schedule 04.11.2013