由于某些原因,我需要从移动主题访问一个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);