Another way to this create different handler for each customer group
using event controller_action_layout_load_before
then on layout xml set it template.
Config.xml code is:
<frontend>
<events>
<controller_action_layout_load_before>
<observers>
<add_Customer_handler>
<class>MymoduleModelPrefix/observer</class>
<method>addHandler</method>
</add_Customer_handler>
</observers>
</controller_action_layout_load_before>
</events>
<frontend>
and Observer code is
<?php
class MymoduleNameSpace_Mymodule_Model_Observer{
public function addHandler($observer)
{
$loggedIn = Mage::getSingleton('customer/session')->isLoggedIn();
if($loggedIn):
$groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
//Get customer Group name
$group = Mage::getModel('customer/group')->load($groupId);
//echo $group->getCode();
$observer->getEvent()->getLayout()->getUpdate()
->addHandle('customer_group_'.strtolower($group->getCode()));
endif;
}
}
According to observer code , it create handler like
General Group Customer :customer_group_general
whole Group Customer : customer_group_wholesales
etc.
Logic like: customer_group_LOweCaseOfCustomergroupName
<customer_group_general>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</customer_group_general>
<customer_group_wholesales>
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
</customer_group_wholesales>