Php 在Magento中是否有一种简单的方法来包含某些内容?
我目前正在进行一个简单的过程,在这个过程中,我构建了一个控制器,可以让我知道一个人的浏览器是否运行着与我正在进行的设置相当的东西。如果我转到Php 在Magento中是否有一种简单的方法来包含某些内容?,php,magento,caching,controller,Php,Magento,Caching,Controller,我目前正在进行一个简单的过程,在这个过程中,我构建了一个控制器,可以让我知道一个人的浏览器是否运行着与我正在进行的设置相当的东西。如果我转到http://example.com/useraction/index/checkbrowser然后代码将返回一个注释行,内容为,或者返回一个图像和链接,以鼓励用户升级浏览器。我是通过一个我已经构建的控制器来实现这一点的,因为在没有Magento所做的所有缓存的情况下,它似乎可以正常工作。让我们面对现实吧,如果我在视图上这样做(即使我认为这通常应该在视图上)
http://example.com/useraction/index/checkbrowser
然后代码将返回一个注释行,内容为
,或者返回一个图像和链接,以鼓励用户升级浏览器。我是通过一个我已经构建的控制器来实现这一点的,因为在没有Magento所做的所有缓存的情况下,它似乎可以正常工作。让我们面对现实吧,如果我在视图上这样做(即使我认为这通常应该在视图上),那么正确的浏览器信息将不会返回给用户
考虑到这一点,我尝试了以下方法:
echo $this->getChildHtml('/useraction/index/checkbrowser');
echo $this->getChildHtml('/useraction/index/checkbrowser',false);
echo $this->getLayout()->createBlock('page/template')->setTemplate('/useraction/index/checkbrowser')->toHtml();
include('/useraction/index/checkbrowser');
所有这些都不起作用。我遗漏了什么?我认为对于浏览器检查来说,Javascript是最好的。 您可以在其中一个模板文件中包含javascript,比如说[yourthemes]/[yourmodule]/browser-check.phtml。然后将添加到local.xml中:
<default>
<reference name="footer">
<block type='core/template' name='browser.check' template="[yourthemes]/[yourmodule]/browser-check.phtml" />
</reference>
</default>
这将在每个页面中添加browser-check.phtml,您可能希望弹出一个要求浏览器升级的模式?“simple”和“Magento”是反义词
echo $this->getChildHtml('browser.check');