2015-07-28 3 views
0

Je suis nouveau sur cs panier 4.2.4, ayant quelques problèmes pour charger les produits sur la page d'accueil par AJAX pour optimiser la vitesse du site.J'ai 5 onglets sur la page d'accueil. Je veux les charger par Ajax. Pour cela, j'ai créé une page personnalisée avec tous les onglets de produits, Sur la page d'accueil, j'ai ajouté un bloc personnalisé avec smarty et appelez cette page par Ajax. Maintenant, la page est en cours de chargement sur la page d'accueil mais lorsque je clique sur ajouter au bouton de liste de souhaits, l'événement se déroule deux fois. Donc, chaque fois que je clique sur un bouton de liste de souhaits, le message indique que le produit existe déjà. En fait, ce bouton fonctionne deux fois en un clic.Charger le produit sur la page d'accueil par ajax cs cart

mon code sur le bloc personnalisé est

{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} 

Répondre

0

Nous vous suggérons d'utiliser les fonctions intégrées pour faire des demandes ajax. Le plus possible, ils vont résoudre le problème. Par exemple.

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' 
    }); 
} 

Votre modèle et le contenu retourné doit contenir un div dans le format suivant:

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

Seulement ce contenu sera reniewed

+0

Où devrais-je mettre ce code? –

0

J'ai obtenu une nouvelle façon de faire ma taille de page plus petite. J'utilise simplement le plugin jquery load paresseux pour charger toutes les images.