Bạn đã đúng và đây là cách tiếp cận hợp lệ & được sử dụng cho các trang web có nhiều chủ đề. Có một số tùy chọn bổ sung (ít được biết đến, ít được sử dụng) có thể được sử dụng để cập nhật bố cục áp dụng cho các phạm vi cửa hàng khác nhau: tay cầm cửa hàng và tay cầm chủ đề.
Từ siêu lớp điều khiển hành động Mage_Core_Controller_Varien_Action
(liên kết) :
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;
}
Đối với cửa hàng có mã 'deutsch' và cấu hình chủ đề của gói 'mặc định', chủ đề 'tiếng Đức', các xử lý sau sẽ áp dụng cho hầu hết mọi chế độ xem, vì hầu hết các chế độ xem đều sử dụng chúng:
<STORE_deutsch>
<THEME_frontend_default_german>
Bằng cách thực hiện, các tay cầm này có thể được sử dụng theo cách tương tự như <default />
.