По какой-то причине мне нужно получить доступ к файлу phtml из мобильной темы.
Есть ли какой-либо код прямого доступа для выполнения этой цели?
Например -
Mage::app()->getLayout()->createBlock('core/template')->setTemplate('catalogsearch/form.mini.phtml')->toHtml();
Этот код возвращает форму поиска из темы по умолчанию, но мне она нужна из мобильной темы.
Пожалуйста помоги!!
Я думаю, вы должны сделать что-то вроде этого:
// Switch to the desired theme
Mage::getDesign()->setArea('frontend') //Area (frontend|adminhtml)
->setPackageName('default') //Name of Package
->setTheme('mobile?'); // Name of theme
Mage::app()->getLayout()->createBlock('core/template')->setTemplate('catalogsearch/form.mini.phtml')->toHtml();
Но мы знаем, что это изменит вашу тему для остальной части рендеринга страницы... и впоследствии вы можете получить неожиданные результаты. Вероятно, вы должны сначала сохранить текущую тему & пакет и восстановить, если впоследствии использовать:
$currentPackage = Mage::getSingleton('core/design_package')->getPackageName();
$currentTheme = Mage::getSingleton('core/design_package')->getTheme('frontend');
// Your stuff...
Mage::getDesign()->setArea('frontend')
->setPackageName($currentPackage)
->setTheme($currentTheme);