Пользовательская тема Magento Admin не работает - PullRequest
1 голос
/ 07 марта 2012

У меня есть класс 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 дляУ новой папки администратора и шаблона mage есть только page / head.phtml для загрузки дополнительных css.

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

Ответы [ 2 ]

2 голосов
/ 10 апреля 2012

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

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 / default / default

0 голосов
/ 04 ноября 2013

ИСПРАВЛЕНО!

Проблема была не в Система> Конфигурация> Дизайн , а на самом деле Система> Дизайн Я обнаружил, что Система> Дизайн *Для 1008 * он был настроен для Default / Shopper, и времени для него не было.Следующая ссылка помогла мне прийти к моему выводу.

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

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

...