Am saubersten ist es, einen Beobachter zu erstellen, der dem Körper die Klasse hinzufügt.
Dazu können Sie ein neues Modul erstellen (oder ein vorhandenes verwenden. Nur für den Fall, hier ist, wie Sie eines erstellen können. Nennen wir es Easylife_AdminClass
).
Sie benötigen folgende Dateien:
app/etc/modules/Easylife_AdminClass.xml
- die Deklarationsdatei
<?xml version="1.0"?>
<config>
<modules>
<Easylife_AdminClass>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Adminhtml />
</depends>
</Easylife_AdminClass>
</modules>
</config>
app/code/local/Easylife/AdminClass/etc/config.xml
- die Konfigurationsdatei
<?xml version="1.0"?>
<config>
<modules>
<Easylife_AdminClass>
<version>0.0.1</version>
</Easylife_AdminClass>
</modules>
<global>
<models>
<adminclass>
<class>Easylife_AdminClass_Model</class>
</adminclass>
</models>
</global>
<adminhtml>
<events><!-- event used for adding a class to the body-->
<core_block_abstract_to_html_before>
<observers>
<adminclass>
<type>singleton</type>
<class>adminclass/adminhtml_observer</class>
<method>addBodyClass</method>
</adminclass>
</observers>
</core_block_abstract_to_html_before>
</events>
</adminhtml>
</config>
app/code/local/Easylife/AdminClass/Model/Observer.php
- der Beobachter.
<?php
class Easylife_AdminClass_Model_Adminhtml_Observer{
public function addBodyClass($observer){
$block = $observer->getEvent()->getBlock();
if ($block instanceof Mage_Adminhtml_Block_Page){ //check if the block is the root block,
$admin = Mage::getSingleton('admin/session')->getUser();
if ($admin->getId()){//check if the admin is logged in
$block->addBodyClass($admin->getUsername());//add the class to the body.
}
}
return $this;
}
}
Ich empfehle, der Klasse, die Sie dem Body hinzufügen, ein Präfix hinzuzufügen.
Ich meine ersetzen $block->addBodyClass($admin->getUsername());
mit , $block->addBodyClass('some-prefix-'.$admin->getUsername());
da der Benutzername fast alles sein kann. Zum Beispiel werden Sie eine Überraschung haben, wenn Sie einen Administrator namens 'root' haben. So sieht die root
Klasse im Standard-Admin-CSS aus
.root{
position: relative;
height: 260px;
margin: 0;
width: 1px;
}