La forma más limpia es crear un observador que agregue la clase al cuerpo.
Para esto, puede crear un nuevo módulo (o usar uno existente. Por si acaso, así es como puede crear uno. Llamémoslo Easylife_AdminClass
).
Necesitará los siguientes archivos:
app/etc/modules/Easylife_AdminClass.xml
- el archivo de declaración
<?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
- el archivo de configuración
<?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
- el observador.
<?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;
}
}
Recomiendo agregar un prefijo a la clase que agregue al cuerpo.
Quiero decir reemplazar $block->addBodyClass($admin->getUsername());
con $block->addBodyClass('some-prefix-'.$admin->getUsername());
ya que el nombre de usuario puede ser casi cualquier cosa. Por ejemplo, tendrá una sorpresa si tiene un administrador llamado 'root'. Así es como se root
ve la clase en el administrador predeterminado CSS
.root{
position: relative;
height: 260px;
margin: 0;
width: 1px;
}