Jump to content

Produits favoris ne fonctionne plus avec l'URL rewriting activé


Recommended Posts

Bonjour,

 

J'ai remarqué que le lien "Ajouter à mes produits favoris" ne fonctionnait plus sur ma boutique, alors qu'il fonctionnait lors des 1ers tests.

 

Après avoir longuement cherché le problème, je pense avoir trouvé d'où il vient. En fait, le module fonctionne si l'URL rewriting est désactivé, et il ne fonctionne plus dès qu'on l'active.

 

J'ai vu que dans le fichier JS du module qu'il se servait de l'URL de la page produit donc je me suis dit que ça venait de là et j'ai visé juste apparement.

 

Je ne sais pas trop comment modifier le code pour que ça marche

 

Si quelqu'un a une solution c'est le dossier /modules/favoriteproducts sur prestashop 1.5.4

Link to comment
Share on other sites

Ok problème résolu

 

Comme je savais que ça venais de l'URL rewriting, j'ai jetté un oeil pour comparer au module "whishlist" qui lui fonctionne même avec l'URL rewriting activé

 

Dans le fichier JS du module "favoriteproducts", remplacez :

_ favorite_products_url_add + '?rand=' + new Date().getTime() par ==> baseDir + 'modules/favoriteproducts/favoriteproducts-ajax.php?action=add&rand=' + new Date().getTime()

_ favorite_products_url_remove + '?rand=' + new Date().getTime() par ==> baseDir + 'modules/favoriteproducts/favoriteproducts-ajax.php?action=remove&rand=' + new Date().getTime()

 

Les URLs sont construites de cette manière dans le module "whislist", j'ai donc repris la même méthode et une fois testé en front office, ça fonctionne :)

 

@++

Link to comment
Share on other sites

Et tant qu'on y est il y a une erreur dans le CSS pour l'image avec le coeur qui n'est pas la bonne.

 

Pour ul#usefull_link_block li#favoriteproducts_block_extra_added

 

Remplacez background:url(img/add_favorite.gif) par background:url(img/del_favorite.gif)

Edited by lambi521 (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Ok problème résolu

 

Comme je savais que ça venais de l'URL rewriting, j'ai jetté un oeil pour comparer au module "whishlist" qui lui fonctionne même avec l'URL rewriting activé

 

Dans le fichier JS du module "favoriteproducts", remplacez :

_ favorite_products_url_add + '?rand=' + new Date().getTime() par ==> baseDir + 'modules/favoriteproducts/favoriteproducts-ajax.php?action=add&rand=' + new Date().getTime()

_ favorite_products_url_remove + '?rand=' + new Date().getTime() par ==> baseDir + 'modules/favoriteproducts/favoriteproducts-ajax.php?action=remove&rand=' + new Date().getTime()

 

Les URLs sont construites de cette manière dans le module "whislist", j'ai donc repris la même méthode et une fois testé en front office, ça fonctionne :)

 

@++

Bonjour,

 

J'ai fait la modif dont tu parles, et cela ne change rien.

J'ai vidé manuellement mon cache smarty et je ne vois toujours pas ce "ajouter aux favoris".

 

Merci de ton aide.

Edited by karopresta (see edit history)
Link to comment
Share on other sites

  • 3 months later...
  • 2 weeks later...
  • 1 year later...

voila mon code du fichier favoriteproducts.js

 

$(document).ready(function(){
    $('#favoriteproducts_block_extra_add').click(function(){
        $.ajax({
            url: favorite_products_url_add + '&rand=' + new Date().getTime(),
            type: "POST",
            headers: { "cache-control": "no-cache" },
            data: {
                "id_product": favorite_products_id_product
            },
            success: function(result){
                if (result == '0')
                {
                    $('#favoriteproducts_block_extra_add').slideUp(function() {
                        $('#favoriteproducts_block_extra_added').slideDown("slow");
                    });

                }
             }
        });
    });
    $('#favoriteproducts_block_extra_remove').click(function(){
        $.ajax({
            url: favorite_products_url_remove + '&rand=' + new Date().getTime(),
            type: "POST",
            headers: { "cache-control": "no-cache" },
            data: {
                "id_product": favorite_products_id_product
            },
            success: function(result){
                if (result == '0')
                {
                    $('#favoriteproducts_block_extra_remove').slideUp(function() {
                        $('#favoriteproducts_block_extra_removed').slideDown("slow");
                    });

                }
             }
        });
    });
    $('#favoriteproducts_block_extra_added').click(function(){
        $.ajax({
            url: favorite_products_url_remove + '&rand=' + new Date().getTime(),
            type: "POST",
            headers: { "cache-control": "no-cache" },
            data: {
                "id_product": favorite_products_id_product
            },
            success: function(result){
                if (result == '0')
                {
                    $('#favoriteproducts_block_extra_added').slideUp(function() {
                        $('#favoriteproducts_block_extra_removed').slideDown("slow");
                    });

                }
             }
        });
    });
    $('#favoriteproducts_block_extra_removed').click(function(){
        $.ajax({
            url: favorite_products_url_add + '&rand=' + new Date().getTime(),
            type: "POST",
            headers: { "cache-control": "no-cache" },
            data: {
                "id_product": favorite_products_id_product
            },
            success: function(result){
                if (result == '0')
                {
                    $('#favoriteproducts_block_extra_removed').slideUp(function() {
                        $('#favoriteproducts_block_extra_added').slideDown("slow");
                    });

                }
             }
        });
    });

    $('[rel^=ajax_id_favoriteproduct_]').click(function()
    {
        var idFavoriteProduct =  $(this).attr('rel').replace('ajax_id_favoriteproduct_', '');
        var parent = $(this).parent().parent();

        $.ajax({
            url: favorite_products_url_remove,
            type: "POST",
            data: {
                'id_product': idFavoriteProduct,
                'ajax': true
            },
            success: function(result)
            {
                if (result == '0')
                {
                    parent.fadeOut("normal", function()
                    {
                        parent.remove();
                    });
                }
              }
        });
    });
});

Link to comment
Share on other sites

coucou

 

tu as un display:none qui empêche l'affichage dans le fichier theme/ton_theme/css/favoriteproducts/favoriteproducts.css a la ligne 61

ul#usefull_link_block li#favoriteproducts_block_extra_removed {
padding-left: 20px;
background: url(img/add_favorite.gif) no-repeat 0 0;
cursor: pointer;
display: none;
}

modifies le "none" en "block"

display: block;

pour l'image en background il semble que le chemin ne soit pas correct vérifies si le dossier theme/ton_theme/css/favoriteproducts/img existe et si il y a le fichier "add_favorite.gif" dedans

 

si ça n'existe pas copies le fichier modules/favoriteproducts/img/add_favorite.gif dans theme/ton_theme//img/add_favorite.gif 

et change le chemin du background

background: url(img/add_favorite.gif) no-repeat 0 0;
en
background: url(../img/add_favorite.gif) no-repeat 0 0;

@++

Loulou66

Link to comment
Share on other sites

super merci pour l'icon ça marche avec ce code mes j'ai toujours pas le lien qui fonctionne j'arrive pas a ajoute des produits.

 

fichier favoriteproducts.ccs

 

#module-favoriteproducts-account #left_column {display:none}
#module-favoriteproducts-account #center_column {width:757px}

#favoriteproducts_block_account .favoriteproduct {
    position:relative;
   margin-bottom: 14px;
   padding: 12px 8px;
    border: 1px solid #eee;
   border-radius: 3px 3px 3px 3px;
}

.favoriteproduct a.product_img_link {
    border: 1px solid #CCCCCC;
    display: block;
    float: left;
    margin-right: 14px;
    overflow: hidden;
    position: relative;
}

.favoriteproduct h3 {
    color: #000000;
    font-size: 13px;
    padding: 0 0 10px;
}

.favoriteproduct  p.product_desc {
    line-height: 16px;
    overflow: hidden;
    padding: 0;
}

.favoriteproduct .remove {
    position:absolute;
    top:10px;
    right:10px
}
.favoriteproduct .remove .icon {cursor:pointer}


/* lnk fiche produit */

#usefull_link_block li#favoriteproducts_block_extra_add {
    padding-left:20px;
    background:url(img/add_favorite.gif) no-repeat 0 0;
    cursor: pointer;
}

#usefull_link_block li#favoriteproducts_block_extra_remove {
    padding-left:20px;
    background:url(img/del_favorite.gif) no-repeat 0 0;
    cursor: pointer;
}

ul#usefull_link_block li#favoriteproducts_block_extra_added {
    padding-left:20px;
    background:url(img/add_favorite.gif) no-repeat 0 0;
    cursor: pointer;
    display: none;
}
ul#usefull_link_block li#favoriteproducts_block_extra_removed {
    padding-left:20px;
    background:url(img/del_favorite.gif) no-repeat 0 0;
    cursor: pointer;
    display: none;
}

 

Encore mille fois merci a vous...

Link to comment
Share on other sites

coucou

 

ensuite tes liens ne fonctionne pas car il y a une erreur avec le product.js qui bloque tout les autres script

remplaces dans le product.js de ton theme ligne 534

//set jqZoom parameters if needed
	if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
	{
		$('img.jqzoom').jqueryzoom({
			xzoom: 200, //zooming div default width(default width value is 200)
			yzoom: 200, //zooming div default width(default height value is 200)
			offset: 21 //zooming div default offset(default offset value is 10)
			//position: "right" //zooming div position(default position value is "right")
		});
	}
par
//set jqZoom parameters if needed
	if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
	{
		$('#bigpic').attr('rel', $('#bigpic').attr('src').replace('thickbox', 'large'));
		$('img.jqzoom').jqueryzoom({
			xzoom: 200, //zooming div default width(default width value is 200)
			yzoom: 200, //zooming div default width(default height value is 200)
			offset: 21 //zooming div default offset(default offset value is 10)
			//position: "right" //zooming div position(default position value is "right")
		});
	}

j'ai pris le code le la 1.5.4 theme default

@++

Loulou66

Link to comment
Share on other sites

Coucou

 

ha vi dsl j'ai pris laversion du 1er post donc dans ma1.6.0.9 j'ai

if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
	{
		$('.jqzoom').jqzoom({
			zoomType: 'innerzoom', //innerzoom/standard/reverse/drag
			zoomWidth: 458, //zooming div default width(default width value is 200)
			zoomHeight: 458, //zooming div default width(default height value is 200)
			xOffset: 21, //zooming div default offset(default offset value is 10)
			yOffset: 0,
			title: false
		});
	}

a remplacer comme precedement

 

je pux pas cree de compte il y a un message de securité qui s'affiche quend je click sur "identifiez-vous"

Votre connexion n'est pas privée

Il se peut que des pirates soient en train d'essayer de dérober vos informations sur le site www.laplanetevenus.fr (par exemple, des mots de passe, des messages ou des informations sur vos cartes de paiement).

un pti probleme avec le SSL je pense

 

pour le modulle il faut etre connecter pour voir les phrases donc c'etait bon il faut le laisser sur "display:none;"

et quand on se connete le JS change le display donc quand tu aura régler le probleme du product.js le module devrait re-fonctionner

@++

Loulou66

Edited by loulou66 (see edit history)
Link to comment
Share on other sites

pour ce qui et du ssh pas de problème sur Firefox je vient de voir que internet explore il y as un petit problème mes vous pouvez faire continue en toute sécurité.

 

Super ça marche pour ajoute mes il faudrait la suite du code pour retire de mes favoris

 

merci dans un sans mes pas dans lautre

 

encore merci a vous...

Edited by laplanetevenus (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...