如何使用phonegap / jQueryMobile从OpenCart获取JSON格式的产品

时间:2013-06-04 13:58:05

标签: jquery ajax json jquery-mobile opencart

无论如何,从我的OpenCart商店,使用Ajax,JavaScript / jQuery的phonegap移动应用程序获取JSON格式的产品目录。 OpenCart是否允许这样的事情?

欢迎任何想法或代码:)

2 个答案:

答案 0 :(得分:1)

之前的目录/ controller / product / catalog.php中
$this->response->setOutput($this->render());

粘贴此代码

if (isset( $this->request->get['json'])) $this->response->setOutput(json_encode($this->data));  else    

并转到http://opencart.examle/index.php?route=product/category&path=20&json

链接

答案 1 :(得分:1)

OcJoy正确的方式,但提供的解决方案将包含我猜不是您想要的输出的所有页面数据。

而不是他的解决方案,你应该在$this->response->setOutput($this->render());之前做这样的事情(假设你只需要产品JSON数组):

if(isset($this->request->get['json'])) {
    echo json_encode($this->data['products']);
    die;
} else

然后在点击http://www.example.com/index.php?route=product/category&path=20&json后,只输出ID为20的产品类别的JSON。


编辑:从模板中调用此项作为AJAX请求,你可以这样做:

$(document).ready(function(){
    $.ajax({
        url: 'index.php?route=product/category&path=<CATEGORY_ID>&json',
        type: 'get',
        dataType: 'json',
        beforeSend: function() {
        },
        complete: function() {
        },
        success: function(data) {
            if (data.length > 0) {
                // do something here with the products in data array
            }
        }
    });
});

请务必使用上面的网址中的正确值替换<CATEGORY_ID>,并在success回调函数中添加所需的功能。