Skip to content

Commit fe1cfb6

Browse files
committed
add RTL LTR dynamic uplaod
1 parent f71e486 commit fe1cfb6

File tree

4 files changed

+8471
-72
lines changed

4 files changed

+8471
-72
lines changed
Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,25 @@
1-
<?php
2-
3-
class Bubble_AdminTheme_Model_Adminhtml_Observer
4-
{
5-
public function setTheme()
6-
{
7-
$theme = Mage::getStoreConfig('bubble_admintheme/config/theme');
8-
Mage::getDesign()->setTheme($theme);
9-
foreach (array('layout', 'template', 'skin', 'locale') as $type) {
10-
Mage::getDesign()->setTheme($type, $theme);
11-
}
12-
13-
}
14-
15-
public function setLessVariables(Varien_Event_Observer $observer) {
16-
17-
$response = $observer->getEvent()->getResponse();
18-
19-
if (Mage::helper('bubble_admintheme')->isRtlLocale()) {
20-
$response->setLessVariables($this->_getRtlLessVariables());
21-
}
22-
23-
else {
24-
$response->setLessVariables($this->_getLtrLessVariables());
25-
}
26-
27-
return $this;
28-
}
29-
30-
private function _getRtlLessVariables() {
31-
return array(
32-
'bi-app-left' => 'right',
33-
'bi-app-right' => 'left',
34-
'bi-app-direction' => 'rtl',
35-
'bi-app-invert-direction' => 'ltr'
36-
);
37-
}
38-
39-
private function _getLtrLessVariables() {
40-
return array(
41-
'bi-app-left' => 'left',
42-
'bi-app-right' => 'right',
43-
'bi-app-direction' => 'ltr',
44-
'bi-app-invert-direction' => 'rtl'
45-
);
46-
}
1+
<?php
2+
3+
class Bubble_AdminTheme_Model_Adminhtml_Observer {
4+
public function setTheme() {
5+
$theme = Mage::getStoreConfig( 'bubble_admintheme/config/theme' );
6+
Mage::getDesign()->setTheme( $theme );
7+
foreach ( array( 'layout', 'template', 'skin', 'locale' ) as $type ) {
8+
Mage::getDesign()->setTheme( $type, $theme );
9+
}
10+
11+
}
12+
13+
14+
public function controllerActionLayoutLoadBefore( Varien_Event_Observer $observer ) {
15+
$_head = $observer->getEvent()->getLayout()->getBlock( 'head' );
16+
17+
if ( Mage::helper( 'bubble_admintheme' )->isRtlLocale() ) {
18+
$_head->addItem( 'skin_css', 'dist/app-rtl.css' );
19+
} else {
20+
$_head->addItem( 'skin_css', 'dist/app.css' );
21+
}
22+
23+
24+
}
4725
}

app/code/community/Bubble/AdminTheme/etc/config.xml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,6 @@
3030
</bubble_admintheme_admin_predispatch>
3131
</observers>
3232
</adminhtml_controller_action_predispatch_start>
33-
<soczed_less_additional_variables>
34-
<observers>
35-
<bubble_admintheme_less_additional_variables>
36-
<class>Bubble_AdminTheme_Model_Adminhtml_Observer</class>
37-
<method>setLessVariables</method>
38-
</bubble_admintheme_less_additional_variables>
39-
</observers>
40-
</soczed_less_additional_variables>
4133
</events>
4234
</global>
4335
<admin>
@@ -76,6 +68,17 @@
7668
<label>Magento Go</label>
7769
</go>
7870
</themes>
71+
<events>
72+
<controller_action_layout_generate_blocks_after>
73+
<observers>
74+
<bubble_admintheme>
75+
<type>singleton</type>
76+
<class>Bubble_AdminTheme_Model_Adminhtml_Observer</class>
77+
<method>controllerActionLayoutLoadBefore</method>
78+
</bubble_admintheme>
79+
</observers>
80+
</controller_action_layout_generate_blocks_after>
81+
</events>
7982
</adminhtml>
8083
<default>
8184
<bubble_admintheme>
Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
<?xml version="1.0"?>
22
<layout version="0.1.0">
3-
<default translate="label" module="page">
4-
<reference name="head">
5-
<!-- remove all default CSS files -->
6-
<action method="removeItem"><type>skin_css</type><name>reset.css</name></action>
7-
<action method="removeItem"><type>skin_css</type><name>boxes.css</name></action>
8-
<action method="removeItem"><type>skin_css</type><name>custom.css</name></action>
9-
<action method="removeItem"><type>skin_css</type><name>iestyles.css</name></action>
10-
<action method="removeItem"><type>skin_css</type><name>below_ie7.css</name></action>
11-
<action method="removeItem"><type>skin_css</type><name>ie7.css</name></action>
12-
<action method="removeItem"><type>skin_css</type><name>print.css</name></action>
13-
<action method="removeItem"><type>skin_css</type><name>menu.css</name></action>
14-
<action method="removeItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name></action>
15-
<action method="removeItem"><type>js_css</type><name>extjs/resources/css/ext-all.css</name></action>
16-
<action method="removeItem"><type>js_css</type><name>extjs/resources/css/ytheme-magento.css</name></action>
3+
<default translate="label" module="page">
4+
<reference name="head">
5+
<!-- remove all default CSS files -->
6+
<action method="removeItem"><type>skin_css</type><name>reset.css</name></action>
7+
<action method="removeItem"><type>skin_css</type><name>boxes.css</name></action>
8+
<action method="removeItem"><type>skin_css</type><name>custom.css</name></action>
9+
<action method="removeItem"><type>skin_css</type><name>iestyles.css</name></action>
10+
<action method="removeItem"><type>skin_css</type><name>below_ie7.css</name></action>
11+
<action method="removeItem"><type>skin_css</type><name>ie7.css</name></action>
12+
<action method="removeItem"><type>skin_css</type><name>print.css</name></action>
13+
<action method="removeItem"><type>skin_css</type><name>menu.css</name></action>
14+
<action method="removeItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name></action>
15+
<action method="removeItem"><type>js_css</type><name>extjs/resources/css/ext-all.css</name></action>
16+
<action method="removeItem"><type>js_css</type><name>extjs/resources/css/ytheme-magento.css</name></action>
1717

18-
<action method="addItem"><type>skin_css</type><name>dist/app.css</name></action>
18+
<!-- theme css file is loaded via event handler to manage RTL-LTR -->
19+
</reference>
1920

20-
</reference>
21-
22-
</default>
21+
</default>
2322
</layout>

0 commit comments

Comments
 (0)