通过ajax(外部脚本)加载wishlist项目

时间:2014-10-20 15:46:57

标签: ajax magento categories

与下面的帖子相关,我需要在文档准备好后通过ajax加载心愿单中的所有项目。我创建了一个外部脚本,我通过jQuery调用,但我没有得到任何结果。有点像...

include_once '../app/Mage.php';
 Mage::app();

我已经尝试了几个片段来加载数组中的心愿单项,但我从未得到过结果。我以前用php加载信息,但我们使用全页缓存扩展,我需要更新类别视图中的心脏图标。

Example from our catalog view

有谁知道如何获得结果?

Magento Wishlist - Remove item

1 个答案:

答案 0 :(得分:0)

尝试下面的代码。我已经在magento 1.9下测试并且像魅力一样工作

<?php

// result buffer
$result = array();

// init magento
require_once('app/Mage.php');
umask(0);
Mage::app('default');

// init session
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session', array('name'=>'frontend'));

// get wishlist if logged in
if ($session->isLoggedIn()) {

    $wishList = Mage::getSingleton('wishlist/wishlist')->loadByCustomer($session->getCustomer());
    $wishListItemCollection = $wishList->getItemCollection();

    foreach ($wishListItemCollection as $item)
    {
        $result[] = array(
            'name' => $item->getName(),
            'id' => $item->getId(),
            'price' => $item->getPrice(),
            'qty' => $item->getQty()
        );

    }
}

// return
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-Type: application/json');

echo json_encode($result);