Você está correto, e esta é uma abordagem válida e usada para sites com vários temas. Existem algumas opções adicionais (pouco conhecidas e raramente usadas) que podem ser usadas para atualizações de layout que se aplicam a diferentes escopos da loja: o identificador da loja e o identificador do tema.
Na superclasse do controlador de ação Mage_Core_Controller_Varien_Action
(link) :
public function addActionLayoutHandles()
{
$update = $this->getLayout()->getUpdate();
// load store handle
$update->addHandle('STORE_'.Mage::app()->getStore()->getCode());
// load theme handle
$package = Mage::getSingleton('core/design_package');
$update->addHandle(
'THEME_'.$package->getArea().'_'.$package->getPackageName().'_'.$package->getTheme('layout')
);
// load action handle
$update->addHandle(strtolower($this->getFullActionName()));
return $this;
}
Para uma loja com o código 'deutsch' e uma configuração de tema do pacote 'padrão', tema 'alemão', os seguintes identificadores se aplicam a quase todas as visualizações, pois a maioria das visualizações as utiliza:
<STORE_deutsch>
<THEME_frontend_default_german>
Por implementação, esses identificadores podem ser utilizados da mesma maneira que <default />
.