Magento通过ajax加载产品视图

时间:2014-05-08 20:17:52

标签: javascript php ajax magento

我想要实现的目标:点击产品链接/图片(至少在某些区域)打开包含完整产品信息的弹出窗口(基本上是产品视图页面的所有内容)。

我试图实现答案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>**

0 个答案:

没有答案