Как получить макет области интерфейса на стороне администратора?
Я задал вопрос, но не получил ответа на на него. Теперь я понимаю, как получить все блоки на страницах, но я получаю только текущие блоки страниц. Например:
$layout = Mage::app()->loadArea(Mage_Core_Model_App_Area::AREA_FRONTEND)->getLayout();
/* then i get all blocks from that page*/
Как получить область интерфейса, когда я в бэкэнде?? Я знаю, что это должно быть просто, но когда я хочу получить AREA_FRONTEND, я получаю свою текущую страницу, но мне нужна область внешнего интерфейса.
6
1 answers
Старый вопрос, но вот он.
Сам этого не пробовал, но может помочь в правильном направлении.
$selectedStoreId
будет идентификатором темы sore, к которой вы хотите перейти.
Вот как это делает предварительный просмотр в magento EE.
Mage::app()->getLocale()->emulate($selectedStoreId);
Mage::app()->setCurrentStore(Mage::app()->getStore($selectedStoreId));
Mage::getDesign()->setArea('frontend')
->setStore($selectedStoreId);
$designChange = Mage::getSingleton('core/design')
->loadChange($selectedStoreId);
if ($designChange->getData()) {
Mage::getDesign()->setPackageName($designChange->getPackage())
->setTheme($designChange->getTheme());
}
И используйте Mage::app()->getLocale()->revert();
, чтобы вернуться к теме администратора.
5
Author: ProxiBlue, 2014-02-11 14:47:56