我想要实现的目标:点击产品链接/图片(至少在某些区域)打开包含完整产品信息的弹出窗口(基本上是产品视图页面的所有内容)。
我试图实现答案to this question,但我得到一个白页而不是返回产品。如果我直接访问指定路线,我会在主要内容区域获得Magento“轮询”功能的完全渲染版本的网站。
我的内容如下。我错过了什么?
编辑:我根据@Marius提供的链接更新了我的配置和布局XML。在访问指定路线时,我没有获得完全渲染的页面,而是获得了我指定的模板,但不是产品。我完全被难倒了。
Ajax (在无冲突模式下使用jQuery)
<div id="magic"><p>Hi</p></div>
<pre id="result"></pre>
<script>
var loadUrl = '/shopthelook/ajax/index';
jQuery("#magic").click(function(){
jQuery("#result")
.load(loadUrl, null, function(responseText){
jQuery('#result').text("Response:\n" + responseText);
});
});
</script>
控制器 - 为了测试目的,我已经对ID进行了硬编码。
class PM_ShopTheLook_AjaxController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$id = 52986;
Mage::helper('catalog/product')->initProduct($id, $this);
$this->loadLayout();
$this->renderLayout();
}
}
配置
<config>
<modules>
<PM_ShopTheLook>
<version>1.0.0.0</version>
</PM_ShopTheLook>
</modules>
<frontend>
<routers>
<shopthelook>
<use>standard</use>
<args>
<module>PM_ShopTheLook</module>
<frontName>shopthelook</frontName>
</args>
</shopthelook>
</routers>
<layout>
<updates>
<shopthelook_layout>
<file>shop_the_look.xml</file>
</shopthelook_layout>
</updates>
</layout>
</frontend>
</config>
布局XML
<?xml version="1.0"?>
<layout version="0.1.0">
<shopthelook_ajax_index>
<remove name="right"/>
<remove name="left"/>
<block type="catalog/product_view" name="root" output="toHtml" template="catalog/product/view.phtml">
</block>
</shopthelook_ajax_index>
</layout>**