是否有任何Magento代码可以从特定主题获取phtml文件路径


Is there any Magento code to get phtml file path from a particular theme?

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