Jump to content

send wishlist bugs 1.5.0.17


Recommended Posts

  • 1 month later...
  • 1 month later...

Hi Benjamin,

 

I'm experiencing the same problem as the others too.

 

To explain it in detail...

 

I add products to My Wishlist and then go to the Manage Wishlist page where it has a list of your Wishlists and you can click on one to view the products. So I click on one of them and it shows a lsit of the products and also a Send Wishlist button. Now when I click this button all it does is makes the button longer and hides the Clsoe Wishlist button rather than opening up the Send Wishlist form where you enter email addresses. If I click the Send Wishlist button for a second time, the button disappears and the form now shows.

 

Basically, it requires two clicks of the button to show the Send Wishlist form.

 

Any ideas?

 

Thanks,

 

Oliver

Link to comment
Share on other sites

OK, so after some comparisons with another site I've created using an older version of PrestaShop (1.4.2) I believe, I have now solved the problem.

 

The problem seems to be a conflict with the button that is used to close the Wishlist that you are viewing. It seems that the button is using a class or ID that was causing confusion when the Send Wishlist button is first clicked.

 

To fix this I deleted the button that clsoes the current Wishlist and added in an extra line that changes the Send Wishlist button to Close Send Wishlist once it is pressed. It's important to keep the "display" elements of the inline styles on this too.

 

 <p class="submit" style="text-align: right; margin: 10px 20px 0 0;">
	    <a href="#" id="showSendWishlist" class="button_account exclusive" onclick="WishlistVisibility('wl_send', 'SendWishlist'); return false;" style="display: inline-block;">{l s='Email Wishlist to FTH Hire Group' mod='blockwishlist'}</a></li>
	    <a href="#" id="hideSendWishlist" class="button_account exclusive" onclick="WishlistVisibility('wl_send', 'SendWishlist'); return false;" style="display: none;">{l s='Close Email Wishlist to FTH Hire Group' mod='blockwishlist'}</a></li>
    </p>

Link to comment
Share on other sites

  • 8 months later...

Hi Benjamin,

 

I've only applied the following changes:

<p class="submit" style="text-align: right; margin: 10px 20px 0 0;">

         <a href="#" id="showSendWishlist" class="button_account exclusive" onclick="WishlistVisibility('wl_send', 'SendWishlist'); return false;" style="display: inline-block;">{l s='Email Wishlist to FTH Hire Group' mod='blockwishlist'}</a></li>

         <a href="#" id="hideSendWishlist" class="button_account exclusive" onclick="WishlistVisibility('wl_send', 'SendWishlist'); return false;" style="display: none;">{l s='Close Email Wishlist to FTH Hire Group' mod='blockwishlist'}</a></li>

     </p>

 

and then reverted them back.

 

My website is foodforlove.it

Thanks!

Link to comment
Share on other sites

Hi, thank you for the test login. I think the problem is not so much the wishlist, it's the log in and log out. For some reason, whenever I log in, I am automatically logged out when I go to a Product page. 

 

Uhm... I've logged in using the same user and it worked fine for me.. I've added two products to the test whishlist.

what can it be? Very strange.

Link to comment
Share on other sites

That could be why, could you make a separate test account for me? Maybe we were logged in at the same time. 

Hi Benjamin,

 

I mean after your post saying " I am automatically logged out when I go to a Product page" I've tested the account and it was working well.

 

I'm going to send you a message with a different test account.

 

Thanks again :)

Link to comment
Share on other sites

Hi MyValeria, in your Preferences>General could you please let me know if "increase front office security" is enabled? If so, could you please disable is and let me know if the email is sent.

 

Also, do other emails send? Is it just this wishlist email that does not send?

 

Lastly, I would like you to contact your hosting provider and ask them for the apache and/or php error logs. You may be able to find this in your Cpanel.

 

When E-mails do not send, it is usually a Server configuration issue. 

Link to comment
Share on other sites

Hi MyValeria, in your Preferences>General could you please let me know if "increase front office security" is enabled? If so, could you please disable is and let me know if the email is sent.

 

Also, do other emails send? Is it just this wishlist email that does not send?

 

Lastly, I would like you to contact your hosting provider and ask them for the apache and/or php error logs. You may be able to find this in your Cpanel.

 

When E-mails do not send, it is usually a Server configuration issue. 

 

Hi Benjamin,

 

I apologize for this misunderstanding.

Emails are sent properly to destination.

 

The issue is when the "Send this whishlist" button is clicked.

The button turns in a very long one, and it must clicked one more time for the page to display the list of email input fields.

 

post-558663-0-21401000-1379358100_thumb.jpg

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

Hi Benjamin,

 

I apologize for this misunderstanding.

Emails are sent properly to destination.

 

The issue is when the "Send this whishlist" button is clicked.

The button turns in a very long one, and it must clicked one more time for the page to display the list of email input fields.

 

attachicon.gifwhishlist-issue-1.5.4.1.JPG

 

 

Hi, thank you for clarifying. When I did click the Send Wishlist, I clicked only once and waited about 2 seconds to see the Email fields. Sometimes it takes longer, the module needs to load the wishlist email fields.

 

If you click only one time and wait 2-5 seconds, it does not show?

Link to comment
Share on other sites

Hi, thank you for clarifying. When I did click the Send Wishlist, I clicked only once and waited about 2 seconds to see the Email fields. Sometimes it takes longer, the module needs to load the wishlist email fields.

 

If you click only one time and wait 2-5 seconds, it does not show?

 

No I'm afraid not. No email field shown unless I click again.

 

I probably should turn off the compilation and try again.

And if it's not working, I might try and clear PS cache.

 

Unless you have a different suggestion :)

Link to comment
Share on other sites

I solved it changing the function of the file ajax-wishlist.js (line 212)

function WishlistVisibility(bought_class, id_button)
{
	if (($('#hide' + id_button).css('display') == 'none') || ('wl_send' == bought_class))
	{
		$('.' + bought_class).slideDown('fast');
		$('#show' + id_button).hide();
		$('#hide' + id_button).css('display', 'block');
	}
	else
	{
		$('.' + bought_class).slideUp('fast');
		$('#hide' + id_button).hide();
		$('#show' + id_button).css('display', 'block');
	}
}
Edited by jaimegomez (see edit history)
  • Like 2
Link to comment
Share on other sites

 

I solved it changing the function of the file ajax-wishlist.js (line 212)

function WishlistVisibility(bought_class, id_button)
{
	if (($('#hide' + id_button).css('display') == 'none') || ('wl_send' == bought_class))
	{
		$('.' + bought_class).slideDown('fast');
		$('#show' + id_button).hide();
		$('#hide' + id_button).css('display', 'block');
	}
	else
	{
		$('.' + bought_class).slideUp('fast');
		$('#hide' + id_button).hide();
		$('#show' + id_button).css('display', 'block');
	}
}

 

It looks great. Thanks!

Link to comment
Share on other sites

 

I solved it changing the function of the file ajax-wishlist.js (line 212)

function WishlistVisibility(bought_class, id_button)
{
	if (($('#hide' + id_button).css('display') == 'none') || ('wl_send' == bought_class))
	{
		$('.' + bought_class).slideDown('fast');
		$('#show' + id_button).hide();
		$('#hide' + id_button).css('display', 'block');
	}
	else
	{
		$('.' + bought_class).slideUp('fast');
		$('#hide' + id_button).hide();
		$('#show' + id_button).css('display', 'block');
	}
}

Hi jaimegomez,

I'm wrong. The button to send the whishlist is not doing any action when I click it.

Any clue why?

Thanks.

Link to comment
Share on other sites

I have installed Benjamin's module on my website, but now when I click the add to cart button in the wishlist view (via the permalink), nothing happens.. also the link is 'javascript:;'.. that doesn't seem right to me, but I do not know much about javascript..

 

the piece of code that I think should make the 'add to cart' action happen is this:

                <div class="btn_action">
                    <a class="button_small clear" href="{$link->getProductLink($product.id_product,  $product.link_rewrite, $product.category_rewrite)|escape:'html'}" title="{l s='View' mod='blockwishlist'}" rel="nofollow">{l s='View' mod='blockwishlist'}</a>
                    {if isset($product.attribute_quantity) AND $product.attribute_quantity >= 1 OR !isset($product.attribute_quantity) AND $product.product_quantity >= 1}
                        {if !$ajax}
                            <form id="addtocart_{$product.id_product|intval}_{$product.id_product_attribute|intval}" action="{$link->getPageLink('cart')|escape:'html'}" method="post">
                                <p class="hidden">
                                    <input type="hidden" name="id_product" value="{$product.id_product|intval}" id="product_page_product_id"  />
                                    <input type="hidden" name="add" value="1" />
                                    <input type="hidden" name="token" value="{$token}" />
                                    <input type="hidden" name="id_product_attribute" id="idCombination" value="{$product.id_product_attribute|intval}" />
                                </p>
                            </form>
                        {/if}
                        <a href="javascript:;" class="exclusive" onclick="WishlistBuyProduct('{$token|escape:'htmlall':'UTF-8'}', '{$product.id_product}', '{$product.id_product_attribute}', '{$product.id_product}_{$product.id_product_attribute}', this, {$ajax});" title="{l s='Add to cart' mod='homefeatured'}" rel="nofollow">{l s='Add to cart' mod='blockwishlist'}</a>
                    {else}

does anyone have an idea what I should edit?

 

__________________________________________________________

EDIT: solved this issue by replacing this part:

   {if !$ajax}
                            <form id="addtocart_{$product.id_product|intval}_{$product.id_product_attribute|intval}" action="{$link->getPageLink('cart')|escape:'html'}" method="post">
                                <p class="hidden">
                                    <input type="hidden" name="id_product" value="{$product.id_product|intval}" id="product_page_product_id"  />
                                    <input type="hidden" name="add" value="1" />
                                    <input type="hidden" name="token" value="{$token}" />
                                    <input type="hidden" name="id_product_attribute" id="idCombination" value="{$product.id_product_attribute|intval}" />
                                </p>
                            </form>
                        {/if}
                        <a href="javascript:;" class="exclusive" onclick="WishlistBuyProduct('{$token|escape:'htmlall':'UTF-8'}', '{$product.id_product}', '{$product.id_product_attribute}', '{$product.id_product}_{$product.id_product_attribute}', this, {$ajax});" title="{l s='Add to cart' mod='homefeatured'}" rel="nofollow">{l s='Add to cart' mod='blockwishlist'}</a>

with this code (copied it from the product_list.tpl file):

{if isset($static_token)}
													<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}&token={$static_token}", false)}" title="{l s='Add to cart'}"><span>{l s='Add to cart'}</span></a>
												{else}
													<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}", false)} title="{l s='Add to cart'} ">{l s='Add to cart'}
													</a>
												{/if}
Edited by Smijn1 (see edit history)
Link to comment
Share on other sites

also with this module the product images aren't displayed.. it doesn't add the product image id to the URL. Right now I have it set up like this:

{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')

$product.id_image doesn't add any id to the URL.

 

I have tried to replace it with $cover.id_image, then it does add an id to the URL, but I think the product id and sometimes the image id's are not the same as the product id.. so only a few pictures are displayed and others are not.. what should I use instead of $product.id_image or should a make other changes?

 

can anyone help me out, thanks!

Link to comment
Share on other sites

also the permalink that is created for the wishlist starts with http://https://www.

 

does anyone know how to fix this?

 

when these two wishlist issues are fixed my site is finally ready to go live, once all the products have been created.. so I'd really love someone to help me with this issue and the one with the images in my previous post.. thanks!

Link to comment
Share on other sites

also the permalink that is created for the wishlist starts with http://https://www.

 

does anyone know how to fix this?

 

when these two wishlist issues are fixed my site is finally ready to go live, once all the products have been created.. so I'd really love someone to help me with this issue and the one with the images in my previous post.. thanks!

Hi Smijn!

 

Have you managed to find a solution?

 

Thanks

Valeria

Link to comment
Share on other sites

  • 2 weeks later...

also with this module the product images aren't displayed.. it doesn't add the product image id to the URL. Right now I have it set up like this:

{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')

$product.id_image doesn't add any id to the URL.

 

I have tried to replace it with $cover.id_image, then it does add an id to the URL, but I think the product id and sometimes the image id's are not the same as the product id.. so only a few pictures are displayed and others are not.. what should I use instead of $product.id_image or should a make other changes?

 

can anyone help me out, thanks!

 

 

also the permalink that is created for the wishlist starts with http://https://www.

 

does anyone know how to fix this?

 

when these two wishlist issues are fixed my site is finally ready to go live, once all the products have been created.. so I'd really love someone to help me with this issue and the one with the images in my previous post.. thanks!

 

That's not the biggest issue to me, but I do  need a fix for the issues stated above.. could you help me out with this maybe?

 

Thanks in advance.

Link to comment
Share on other sites

If you are using v1.5x you can download the latest version of PrestaShop and copy the folder modules/mailalerts into your Stores FTP.

 

Make sure to make a backup before you do this, it will replace the current module. 

 

Thanks again. I have tried this and the image issue is solved. But the permalink that is created for the wishlist still starts with http://https://www. and also now it doesn't add products to the wishlist, it only adds products if a customer creates a wishlist manually before adding products. When there is not a wishlist created yet, it looks like a products is added to the wishlist, but nothing happens at all.. I would like the module to create a wishlist instantly when added the first item, is this possible?

 

thanks in advance.

Link to comment
Share on other sites

....and also now it doesn't add products to the wishlist, it only adds products if a customer creates a wishlist manually before adding products. When there is not a wishlist created yet, it looks like a products is added to the wishlist, but nothing happens at all.. 

 

This is happening to me too.

I've thought it was normal behaviour.....

Link to comment
Share on other sites

By default, when you click add to wishlist while logged in, the module creates a Wishlist named "My Wishlist" automatically. 

 

If you are not logged in then it will say "You must be logged in to manage your wishlist."

 

it does not act the same way?

 

Unfortunately not.

when user is not registered, PS moves the product picture towards the whishlist box, but is does not display any products in the whishlist box, and states no product available.

Only when I click My Whishlists, then it redirects me to the login/registration page.

Link to comment
Share on other sites

By default, when you click add to wishlist while logged in, the module creates a Wishlist named "My Wishlist" automatically. 

 

If you are not logged in then it will say "You must be logged in to manage your wishlist."

 

it does not act the same way?

 

Good news!

I've replaced the blockwishlist of my PS 1.5.4.0 with the one from PS 1.5.6.0 and it works like a charm :)

 

The reason why it was not sending emails with PS 1.5.4.0, is because there were no email templates (no Italian translation).

 

 

Benjamin & all, thanks very much for your help!

 

(...though, I'm about to open a new post for an issue with max_input_vars...... :()

 

Ciao!

Valeria

Link to comment
Share on other sites

Good news!

I've replaced the blockwishlist of my PS 1.5.4.0 with the one from PS 1.5.6.0 and it works like a charm :)

 

 

 

 

Glad it works for you! It didn't work for me though.. I'm using PS 1.5.4.1 and also tried it with the module from PS 1.5.6.0 but that was when the issues I mentioned earlier started..

 

I really hope someone can help me out..

Link to comment
Share on other sites

Glad it works for you! It didn't work for me though.. I'm using PS 1.5.4.1 and also tried it with the module from PS 1.5.6.0 but that was when the issues I mentioned earlier started..

 

I really hope someone can help me out..

 

Smijn1,

I know I could never be smarter than anyone else here but, what's your shop url? :)

Link to comment
Share on other sites

  • 4 months later...

 

I solved it changing the function of the file ajax-wishlist.js (line 212)

function WishlistVisibility(bought_class, id_button)
{
	if (($('#hide' + id_button).css('display') == 'none') || ('wl_send' == bought_class))
	{
		$('.' + bought_class).slideDown('fast');
		$('#show' + id_button).hide();
		$('#hide' + id_button).css('display', 'block');
	}
	else
	{
		$('.' + bought_class).slideUp('fast');
		$('#hide' + id_button).hide();
		$('#show' + id_button).css('display', 'block');
	}
}

Thanks! It works very good for me and PS 1.5.6 :)

Link to comment
Share on other sites

  • 2 months later...

change in blockwishlist.css line 148

 

#module-blockwishlist-mywishlist #block-order-detail #hideSendWishlist {
display:inline-block;
height:12px;
width:12px;
background: url(img/icon/delete.gif) no-repeat 0 0
}
 
to
 
#module-blockwishlist-mywishlist #block-order-detail #hideSendWishlist {
display:none;
height:12px;
width:12px;
background: url(img/icon/delete.gif) no-repeat 0 0
}
 
Button now only has to be clicked once. It actually hides the x (cancel send wishlist) at first. Which makes sense since there is nothing yet to cancel. The x appears after you click the send wishlist button.
Edited by Centio (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 5 months later...

I am using Prestashop 1.6.0.9 (in catalog mode). The bug is still there. I applied some of jaimegomez's fix and added a slide to input fields to guide the user to the fields. (ajax-wishlist.js)

 

/**
* Hide/Show bought product
*
* @return void
*/
function WishlistVisibility(bought_class, id_button)
{
	if (($('#hide' + id_button).css('display') == 'none') || ('wl_send' == bought_class))
	{
		$('.' + bought_class).slideDown('fast');
		$('#show' + id_button).hide();
		$('#hide' + id_button).css('display', 'block');
		$("html, body").delay(500).animate({
        scrollTop: $('.wl_send').offset().top 
    }, 1000);
	}
	else
	{
		$('.' + bought_class).slideUp('fast');
		$('#hide' + id_button).hide();
		$('#show' + id_button).css('display', 'block');
	}
}

A jquery expert might do it more elegantly, but it works for me.

Edited by me-and-prestashop (see edit history)
Link to comment
Share on other sites

  • 4 months later...

 

change in blockwishlist.css line 148

 

#module-blockwishlist-mywishlist #block-order-detail #hideSendWishlist {
display:inline-block;
height:12px;
width:12px;
background: url(img/icon/delete.gif) no-repeat 0 0
}
 
to
 
#module-blockwishlist-mywishlist #block-order-detail #hideSendWishlist {
display:none;
height:12px;
width:12px;
background: url(img/icon/delete.gif) no-repeat 0 0
}
 
Button now only has to be clicked once. It actually hides the x (cancel send wishlist) at first. Which makes sense since there is nothing yet to cancel. The x appears after you click the send wishlist button.

 

it work for me , thank's

Link to comment
Share on other sites

×
×
  • Create New...