通过ajax cs cart

时间:2015-07-28 14:12:11

标签: php smarty cs-cart smarty-plugins

我是cs cart 4.2.4的新手,在AJAX主页上加载产品有一些问题,以优化网站速度。我在主页上有5个标签。我想通过Ajax加载它们。 为此,我创建了一个包含所有产品选项卡的自定义页面,在主页上,我添加了一个smarty的自定义块,并通过Ajax调用该页面。 现在页面已在主页上成功加载,但当我点击添加到心愿单按钮时,该事件会运行两次。所以每次当我点击愿望清单按钮时,它会显示一条消息,表明产品已经存在。实际上这个按钮一次运行两次。

我的自定义块代码是

{literal}
<script>
var count = 1; 
$(window).unbind('scroll');
$(window).scroll(function(){
if(count==1){
$('.span16.homepg-product-block').html("<img class='loadimg' src='images/common_imgs/loading.gif' style='margin:15px auto 25px 43%'>");

$.ajax({
    url:'/ajax-products',
        type:'GET,
        success: function(data){
        $('.span16.homepg-product-block').html(data);

        }
});}
count++;
});

</script>
{/literal}

2 个答案:

答案 0 :(得分:0)

我们建议您使用内置函数来发出ajax请求。他们最有可能解决这个问题。 E.g。

function fn_change_tab(obj_id, id, option_id)
{
    var $ = Tygh.$;
    var url = fn_url('products.get_tab_content);

    $.ceAjax('request', url, {
        result_ids: 'my_block_content',
        caching: true,
        force_exec: true,
        method: 'get'
    });
}

您的模板和返回的内容应包含以下格式的div:

<div id="my_block_content">
    YOUR CONTENT HERE
<!--my_block_content--></div>

只会重新审核此内容

答案 1 :(得分:0)

我有一种新方法可以缩小页面大小。我只是使用lazy load jquery插件来加载所有图像。