Jump to content
Yotpo

[Free Module] Product Reviews - Dramatically increase your reviews

Recommended Posts

hi, i try many things but your system dont send the after mail emails! I use prestashop 1.6.0.6 and i send emails to support for my problem. How exactly works the after mail email??

 

I speak for new orders (after yotpo installation) NOT old orders! At your site said: "The Mail After Purchase Email is automatically sent to your customers a certain number of days after they have made their purchases." BUT THIS DONT WORKS.

 

One supporter say to me about triggers, but triggers (i think) is only for old purchases. ANY HELP PLEASE???

Edited by iGiorgis (see edit history)

Share this post


Link to post
Share on other sites

Hi,

 

You must set a trigger for new orders in the Prestashop module configuration ( V1.4 ), for example choose " delivered " trigger.

 

You must also set a number of days for the mail after purchase in your Yotpo account/tools/collect reviews/mail after purchase, for example 7 days.

 

In that example, when an order reach the delivered status, 7 days later Yotpo will send the mail after purchase to your customer ;)

 

That also means that if you just installed yotpo, nothing will be send at the moment :)

In the module option you can also choose " submit past orders " if you want your old orders to be handled by Yotpo.

Share this post


Link to post
Share on other sites

thanks for that but i tried without luck. I have choose 1 day after the "trigger" for a demo order, but i dont receive an email. I will try to reset it :(

 

NOW if I submit the past order I receive error "Error occured" :(

Edited by iGiorgis (see edit history)

Share this post


Link to post
Share on other sites

You can also check in your Yotpo dashboard analytics stats the numbers of mails after purchase sent, so normally you must at least see one email in those stats.

 

By the way it would be very convenient to have a dedicated page to with the mails after purchase full details, including date and customers emails ;)

 

Would it be possible Yotpo ?

Share this post


Link to post
Share on other sites

NOW after reset the module, I "submit the past orders" and I receive error "Error occured"

Share this post


Link to post
Share on other sites

Are sure your appkey and secret token are 100% correct in the module configuration ?

Share this post


Link to post
Share on other sites

of course it is! :/ I will try to create a new demo order, to see what happened tomorrow, If I receive something, otherwise I try to find other solution

Share this post


Link to post
Share on other sites

does anybody knows is it possible to add price in yotpo rich snipets becouse now i see just review number

Share this post


Link to post
Share on other sites

NOW after reset the module, I "submit the past orders" and I receive error "Error occured"

I would suggest turning error reporting on to see if there are any errors generated apart from the error message you're getting.

 

Search the forums to find out how it's done or follow these directions:

 

Open config/defines.inc.php file and edit:

 

define('_PS_MODE_DEV_', false);

 

to

 

define('_PS_MODE_DEV_', true);

 

You should now see the error messages in your back and front office.

Share this post


Link to post
Share on other sites

I would suggest turning error reporting on to see if there are any errors generated apart from the error message you're getting.

 

Search the forums to find out how it's done or follow these directions:

 

Open config/defines.inc.php file and edit:

 

define('_PS_MODE_DEV_', false);

 

to

 

define('_PS_MODE_DEV_', true);

 

You should now see the error messages in your back and front office.

and where i will see the error messages?

Share this post


Link to post
Share on other sites

I would suggest turning error reporting on to see if there are any errors generated apart from the error message you're getting.

 

Search the forums to find out how it's done or follow these directions:

 

Open config/defines.inc.php file and edit:

 

define('_PS_MODE_DEV_', false);

 

to

 

define('_PS_MODE_DEV_', true);

 

You should now see the error messages in your back and front office.

 

With error reporting turned on I'm only seeing "You are not authorized to access this page."?

Share this post


Link to post
Share on other sites

Installed latest version on PS 1.5.6.2 and now language is stuck on English. I have the language option checked. I switch to french and it stays English. Old version of module works fine.

Share this post


Link to post
Share on other sites

Hey Marcinsz,

 

I'm checking with our developers, I will get back to you!

 

 

 

It's so awesome when our users help each other out! Thanks for your questions, ysco and thanks for your answer, haylau!

 

New version was realased but without fix for that, to bad. It force users of custom themes to modify php files of module to work fine with design, and then lost the changes each time they update yotpo. it is very simple to fix, why it is taking so much time, i can even send you correct version if dev team have no time. Thanks to my theme(Warehouse which is the most pupular theme for ps) you have a lot of customers becouse i promoted yotpo in ps 1.5 but now i can not do this. I have to say I'm a littiebit dissapointed 

Share this post


Link to post
Share on other sites

Installed latest version on PS 1.5.6.2 and now language is stuck on English. I have the language option checked. I switch to french and it stays English. Old version of module works fine.

 

Hey Bill,

 

Did you contact our support team about this? Haven't heard anyone else report this error, so perhaps it's something they can help you with.

 

New version was realased but without fix for that, to bad. It force users of custom themes to modify php files of module to work fine with design, and then lost the changes each time they update yotpo. it is very simple to fix, why it is taking so much time, i can even send you correct version if dev team have no time. Thanks to my theme(Warehouse which is the most pupular theme for ps) you have a lot of customers becouse i promoted yotpo in ps 1.5 but now i can not do this. I have to say I'm a littiebit dissapointed 

 

Hey Marcinsz,

 

I just confirmed with the dev team that this will be fixed in the next version we release. Sorry it took a while for me to get back to you!

Share this post


Link to post
Share on other sites

Looking very simpel and great!

 

Way better than the normal module, which is not used at all by my customers!

  • Like 1

Share this post


Link to post
Share on other sites

Looking very simpel and great!

 

Way better than the normal module, which is not used at all by my customers!

 

Thanks, Cooltights!

Share this post


Link to post
Share on other sites

Hey Yotpo,

Your module has very nice design but there are a few things I would like to ask you.

 

It is possible to allow writing reviews only for customers who are logged in? I cannot see this option anywhere in my BO. I do not like an idea that anybody could write products review.

 

Next:

Why do you hide fields for email address and for visitors name and disclose them gradually while fillng the review? Why don't you show all these fields in the begining of formular?

 

Hopefully you know what I mean :)

Share this post


Link to post
Share on other sites

Hey Jakub,

 

At Yotpo, we pride ourselves on providing trustworthy, verified reviews.

 

As a user, you will find that most of your reviews come from Mail After Purchases--these are e-mails we automatically send to your shoppers, asking them to leave a review (within the email!). They show up on your store as Verified Buyer reviews and are always sorted at the top of your reviews.

 

Next are Verified Reviewers, these are people who verify their review via email or connection to a social network. These will show up after Verified Buyer Reviews.

 

Finally, there are Anonymous reviews (which haven't been verified) these will always show up at the bottom.

 

We don't show the fields for e-mail address and name, simply because of space. We want to maximize the space showing you reviews and minimize what gets in the way. As I mentioned above, the majority of your reviews will not come from on-site but from the Mail After Purchase. 

 

I hope this helps!

Share this post


Link to post
Share on other sites

Regarding the mail after purchase. Obviously we all have to be very careful with data protection. I have a comment in our terms that state we will only use email address in relation to the actual purchase and review, not for any marketing or give to any other parties

 

 

It is obviously the "Give to any other party" that could cause problems as we give the email address to you

 

Can you point me to your policy statements that say you will not use the email address for wrong reasons or give it to others

Share this post


Link to post
Share on other sites

Hai, Is this module suitable for prestashop 1.6? thanks

Share this post


Link to post
Share on other sites

Yes it is ;) :

 

Post 1 : Compatibility: We support PrestaShop 1.3.x and above

Share this post


Link to post
Share on other sites

Compatibility Safari/Ipad

(sorry if this has already been discussed. Searches at least did not give any hits)

 

Spec: we are running PS 1.4.8 and tested with "new" Ipad

 

We got big surprise today when we saw that yoto is not displaying correctly on our site with Safari/Ipad:

 

  1. Floating review tab (on left side) is not shown at all
  2. Stars are not visible and only showing "error" message "language=......
  3. Review tab on product page is visible however does not show the reviews and does not give option to leave review.

We spend much time to assure cross platform compatibility so we are very puzzled and wondering if we are the only ones having this problem?

 

(That Safari now has taken the lead over IE among our visitors does not help things...)

Edited by MacMaster (see edit history)

Share this post


Link to post
Share on other sites

Hey MacMaster,

 

I haven't heard this issue from other users. Would you mind taking screenshots and sending them to me at talia@yotpo.com? This will help me work with the QA to figure out whats happening.

Share this post


Link to post
Share on other sites

Regarding the mail after purchase. Obviously we all have to be very careful with data protection. I have a comment in our terms that state we will only use email address in relation to the actual purchase and review, not for any marketing or give to any other parties

 

 

It is obviously the "Give to any other party" that could cause problems as we give the email address to you

 

Can you point me to your policy statements that say you will not use the email address for wrong reasons or give it to others

?

Share this post


Link to post
Share on other sites

Hi,

 

I'm using the Yotpo module also, but after upgrading Prestashop to 1.6.0.8, Yotpo is not showing correctly anymore.

I had to disable the module temporarely.

When will there be an update released for Yotpo?

 

Thanks!

Share this post


Link to post
Share on other sites

?

Hey haylau,

 

Sorry I didn't get back to you sooner--we've been working with our lawyers to make sure the Terms of Service is very clear on the fact that Yotpo does not sell information or use it inappropriately. 

 

Once the TOS has been updated to clearly reflect this, I will let you know here.

 

Thanks for this great feedback--it really helps us improve our product and service!

Share this post


Link to post
Share on other sites

Hey haylau,

 

Sorry I didn't get back to you sooner--we've been working with our lawyers to make sure the Terms of Service is very clear on the fact that Yotpo does not sell information or use it inappropriately. 

 

Once the TOS has been updated to clearly reflect this, I will let you know here.

 

Thanks for this great feedback--it really helps us improve our product and service!

 

Hello again,

 

Just got the OK from Legal to update our privacy policy. If you go to section # 6 called "DISCLOSURE OF YOUR PERSONAL DATA TO THIRD PARTIES"  the first line reads "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information or the information of the end-users (your customers). "

 

Thanks again for the useful feedback!

  • Like 1

Share this post


Link to post
Share on other sites

Just had an uncomfortable exchange with a customer. There was a problem with his order and he left a damning review. I asked him why he did not come to me first as posting a bad review on a website without first trying to resolve a situation was not very good practice.

 

He said he did not know the review was for the website and thought he was just communicating with me and was concerned that we had not asked permission to publish the review (We have manual review so it was not actually live)

 

He was responding to an email after sale.

 

So i looked at the email and sure enough there is no way a customer can know that the review will be published

 

So I suggest you all add some wording to the email to alert customers that their review will be published.

 

I suppose we are all failrry computer literate and so understand that it is fairly obvious, but for those not as savvy as us it is not obvious

 

I am not good with words, so would appreciate it if someone can think of better wording. In the meantime I have added

 

Hello {user},
You've recently bought {product}, what do you think about it? Please submit your review for publishing to our website for others to see. If you have had problems please speak to customer support first (ecommerce@graphskill.co.uk)

 

Share this post


Link to post
Share on other sites

Hello Haylau,

 

I understand your concerns and feelings about this.

For many customers, it seems very normal to complain to the outside world first instead of having a dialog with the seller or partner they are cooperating with.

They don't seem to understand that the "outside" will not solve the problem, but the seller has to.

But if you don't tell your seller about your problem, it will not get any solution at all.

And most frustrating of all, you don't get any chance to defend yourself against these negative commercials or even get a chance to help your client finding a solution.

 

In my country we have an expression as following which really fit into this issue:

If you are happy and satisfied, say it to the world! Not satisfied? Please tell us so we can help you!

 

You could use this line maybe for your e-mail and put a link behind "Please tell us" redirecting your customer to your prestashop customer support system which is great to follow-up your sales.

 

Cheers and good luck!

  • Like 1

Share this post


Link to post
Share on other sites

Hi,

 

I'm using the Yotpo module also, but after upgrading Prestashop to 1.6.0.8, Yotpo is not showing correctly anymore.

I had to disable the module temporarely.

When will there be an update released for Yotpo?

 

Thanks!

 

Hello!

 

Sorry I missed this question earlier. Did you try contacting our awesome Support team at support@yotpo.com?

Just wanted to let everyone know I'm going to be out of the office next week.

 

If you have any technical issues, please don't hesitate to contact our awesome Support team at support@yotpo.com.

 

Anything else, write here or email me directly at talia@yotpo.com and I'll get back to you when I'm back!

Share this post


Link to post
Share on other sites

Hey Marcinsz,

 

I just confirmed with the dev team that this will be fixed in the next version we release. Sorry it took a while for me to get back to you!

 

There was new version of module and still nothing. I even offered my help for this...

Share this post


Link to post
Share on other sites

Just had an uncomfortable exchange with a customer. There was a problem with his order and he left a damning review. I asked him why he did not come to me first as posting a bad review on a website without first trying to resolve a situation was not very good practice.

 

He said he did not know the review was for the website and thought he was just communicating with me and was concerned that we had not asked permission to publish the review (We have manual review so it was not actually live)

 

He was responding to an email after sale.

 

So i looked at the email and sure enough there is no way a customer can know that the review will be published

 

So I suggest you all add some wording to the email to alert customers that their review will be published.

 

I suppose we are all failrry computer literate and so understand that it is fairly obvious, but for those not as savvy as us it is not obvious

 

I am not good with words, so would appreciate it if someone can think of better wording. In the meantime I have added

 

 

Hello Haylau,

 

I understand your concerns and feelings about this.

For many customers, it seems very normal to complain to the outside world first instead of having a dialog with the seller or partner they are cooperating with.

They don't seem to understand that the "outside" will not solve the problem, but the seller has to.

But if you don't tell your seller about your problem, it will not get any solution at all.

And most frustrating of all, you don't get any chance to defend yourself against these negative commercials or even get a chance to help your client finding a solution.

 

In my country we have an expression as following which really fit into this issue:

If you are happy and satisfied, say it to the world! Not satisfied? Please tell us so we can help you!

 

You could use this line maybe for your e-mail and put a link behind "Please tell us" redirecting your customer to your prestashop customer support system which is great to follow-up your sales.

 

Cheers and good luck!

 

Somehow I missed this part of the thread--I'm sorry about that.

 

I'll talk to the Product team about the possibility of adding something like this to the email. In the meantime, I think it's a great idea to add it to the text yourself and let your customers know to come to you directly with any issues.

Share this post


Link to post
Share on other sites

There was new version of module and still nothing. I even offered my help for this...

Hey Marcinsz

 

So sorry about that! I just spoke to the Dev team and they confirmed this fix will definitely be in the next version we release.

Share this post


Link to post
Share on other sites

Hello everyone,
I met a big problem with Yotpo, they did not receive my orders ...
They have already looked but it is 2 months, and he can not find! I call your attention!

My accommodation:
VPS4 planethoster (hosted in France) I noted because there is a lot of security with their VPS.
I have prestashop 1.6.0.8

30 orders only 7 are spent at yotpo

You would have an idea?

My website: www.eliquide-import.eu

Share this post


Link to post
Share on other sites

Hello everyone,

I met a big problem with Yotpo, they did not receive my orders ...

They have already looked but it is 2 months, and he can not find! I call your attention!

 

My accommodation:

VPS4 planethoster (hosted in France) I noted because there is a lot of security with their VPS.

I have prestashop 1.6.0.8

 

30 orders only 7 are spent at yotpo

 

You would have an idea?

 

My website: www.eliquide-import.eu

 

 

Hello Yotpo,customers are login to account but yotpo new version is needed to fill email address for type the new reviews.why its not getting emails from customers ids?

 

 

 

http://screencast.com/t/RcifFfmuIk

 

 

2)turkish texts are translated missed.how we can help for this?

 

http://screencast.com/t/1Dvysbu4GW

 

 

 

Regards

Matt

 

Hey Matt

 

1) We require an email address (or link to a social network) to verify reviews written via the on-site widget. Customers to not have to login anywhere to use Yotpo or write a review.

 

In any case, you will find that the majority of your reviews come from the Mail After Purchase emails, where customers can simply leave a review in the email without giving any more info to verify

 

2) I forwarded these missing translations to our Dev team--we will update it soon!

 

Thanks!

 

Hello everyone,

I met a big problem with Yotpo, they did not receive my orders ...

They have already looked but it is 2 months, and he can not find! I call your attention!

 

My accommodation:

VPS4 planethoster (hosted in France) I noted because there is a lot of security with their VPS.

I have prestashop 1.6.0.8

 

30 orders only 7 are spent at yotpo

 

You would have an idea?

 

My website: www.eliquide-import.eu

 

 

Hello Bladinium,

 

Have you tried contacting our awesome Support team at support@yotpo.com? They will be happy to help you!

Share this post


Link to post
Share on other sites

Hey Matt

 

1) We require an email address (or link to a social network) to verify reviews written via the on-site widget. Customers to not have to login anywhere to use Yotpo or write a review.

 

In any case, you will find that the majority of your reviews come from the Mail After Purchase emails, where customers can simply leave a review in the email without giving any more info to verify

 

 

 

 

 

 

 

also customers are not able to send review without verify email

Share this post


Link to post
Share on other sites

also customers are not able to send review without verify email

 

Yup! This is how we ensure you're getting real reviews from real people. As I said above, most of your reviewers won't have to do this anyway because they will write their reviews in the Mail After Purchase email which does not require any verification from them : )

Share this post


Link to post
Share on other sites

Yup! This is how we ensure you're getting real reviews from real people. As I said above, most of your reviewers won't have to do this anyway because they will write their reviews in the Mail After Purchase email which does not require any verification from them : )

 

no i mean,they are our customers already,but they need to type an email for send the review. i skip anything to exlain it?

 

also new version gives an error on me

 

 

when i click to submit past order.i getting an error

 

Yotpo v1.4.2

Prestashop 1.6.0.8

 

http://screencast.com/t/ZQ97efCgXj9P

Edited by ps3z (see edit history)

Share this post


Link to post
Share on other sites

Hello again!

 

The Mail After Purchase makes it really easy for your customers to leave you a review! Your customers will get an email after their purchase, asking them to write a review. They can write the review directly within this email, they will not have to log-in or type their email address or do any verification--it's all automatic. They just need to write a review and press "Submit." 

 

As far as the error you are seeing, please contact our awesome Support team at support@yotpo.com--they will be happy to help. 

Share this post


Link to post
Share on other sites

Hello again!

 

The Mail After Purchase makes it really easy for your customers to leave you a review! Your customers will get an email after their purchase, asking them to write a review. They can write the review directly within this email, they will not have to log-in or type their email address or do any verification--it's all automatic. They just need to write a review and press "Submit." 

 

As far as the error you are seeing, please contact our awesome Support team at support@yotpo.com--they will be happy to help. 

Hi again

 

yes i sent an email 1 day ago.waiting the reply from support team.

Share this post


Link to post
Share on other sites

Lucy Portman (Yotpo)

Jul 25 15:31

Hello Matt,

Please disregard the message. We received more than 400 orders so the feature worked.

From now one, please make sure you set all orders to the status that you selected to send to Yotpo.

Best regards,

Lucy Portman
Yotpo Support

Share this post


Link to post
Share on other sites

Hey!

 

So it looks like this issue was resolved for you, right?

Share this post


Link to post
Share on other sites

Yotpo is publishing a row with "other top rated products" on my product pages.

 

I have two problems with these:

 

 - they are placed too high and as a consequence they push the block with product accessoires so low that most customers miss them

 

 - they publish prices in dollars. Yet for the rest my whole shop is priced in euro's

 

Has anyone solutions for these problems?

 

See http://www.topsnoep.nl/verjaardag-18-jaar/130-snoepblik-18-jaar.html.

Share this post


Link to post
Share on other sites

Yotpo is publishing a row with "other top rated products" on my product pages.

 

I have two problems with these:

 

 - they are placed too high and as a consequence they push the block with product accessoires so low that most customers miss them

 

 - they publish prices in dollars. Yet for the rest my whole shop is priced in euro's

 

Has anyone solutions for these problems?

 

See http://www.topsnoep.nl/verjaardag-18-jaar/130-snoepblik-18-jaar.html.

Hi! I've talked to Yotpo support about these problems and they told me that they are working on the currency thing. Don't think there's going to be "a solution" for the first one which I don't think is even considered a bug.

 

However you should be able to disable "top rated products" from Yotpo´s dashboard or you can just hide the prices if you want to keep the products.

Edited by pucilpet (see edit history)

Share this post


Link to post
Share on other sites

Hi musicmaster!

 

And thanks for stepping in to help, pucilpet--you're totally right: We're working on fixing the currencies but prices can be hidden, also it's possible to turn off the "Top Rated Products" module within the Yotpo admin (go to Tools > On Site > Promoted Products)

 

The Promoted Products module is a really powerful tool for increasing sales. The click-through rate is very high and shoppers who click on products in the module are 3x more likely to make a purchase. It's still a pretty new feature, but we are already seeing great results!

Share this post


Link to post
Share on other sites

hi,

I am using yotpo system on my website (1.4) but now I will upgrade to (1.6) so the question is:

how to manage yotpo review system with the integrate review of presta 1.6? 

:huh:

Share this post


Link to post
Share on other sites

Hi nicola82, no difference with 1.4, install PS1.6, install the latest Yotpo module and Yotpo IDs and you're ON as usual :)

  • Like 1

Share this post


Link to post
Share on other sites

everything looks good, but I see that now I still have the review system of presta on. Can I disable it somehow?

Do you think its nice to keep both?

Share this post


Link to post
Share on other sites

Personally on 1.5.4.1, I disabled Prestashop product comment module a while ago :)

 

I advise you to do the same, that will remove it from your shop, Yotpo is far far better ;)

Edited by KevinNash (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Hey!

 

So it looks like this issue was resolved for you, right?

 

 

translations was missed,i translated some missed titles on get localization.its just finished.

 

can you upload it please for see it online.

 

 

 

Regards

Ps3z

Edited by ps3z (see edit history)

Share this post


Link to post
Share on other sites

Thanks for you

 

translations was missed,i translated some missed titles on get localization.its just finished.

 

can you upload it please for see it online.

 

 

 

Regards

Ps3z

 

Thanks for you help!

 

Not sure when we will upload the new Turkish translations...typically we do it every 2-3 weeks. I will let you know!

 

Thanks again!

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for you

 

 

Thanks for you help!

 

Not sure when we will upload the new Turkish translations...typically we do it every 2-3 weeks. I will let you know!

 

Thanks again!

Thanks A Lot!

 

Ps3z

  • Like 1

Share this post


Link to post
Share on other sites

Hello, I have subscribe for prenium and i have fallow "tutorial" for star in rich snippet!

 

On tutorial, and i have added code in "product.tpl"
{hook h="yotpoProductAverageScore" product_id=$product->id}

{hook h="yotpoProductReviewCount" product_id=$product->id}
 
This is code for display Average et number review..


<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

        <span itemprop="ratingValue">{hook h="hookyotpoProductAverageScore" product_id=$product->id}</span>
        <span itemprop="ratingCount">{hook h="yotpoProductReviewCount" product_id=$product->id}</span>
              
</div>
 
This is code for Google check rich snippet...
 
on : 
not work (nothing dispay)
{hook h="yotpoProductAverageScore" product_id=$product->id}
 
Work (Display number)
{hook h="yotpoProductReviewCount" product_id=$product->id}
 
Thanks you for help me!

Share this post


Link to post
Share on other sites

Hello, this code is wrong :

<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

        <span itemprop="ratingValue">{hook h="hookyotpoProductAverageScore" product_id=$product->id}</span>
        <span itemprop="ratingCount">{hook h="yotpoProductReviewCount" product_id=$product->id}</span>
              
</div>

replace it by :

<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

        <span itemprop="ratingValue">{hook h="yotpoProductAverageScore" product_id=$product->id}</span>
        <span itemprop="ratingCount">{hook h="yotpoProductReviewCount" product_id=$product->id}</span>
              
</div>

hookyotpoProductAverageScore must be yotpoProductAverageScore ;)

Edited by KevinNash (see edit history)

Share this post


Link to post
Share on other sites

Hello, yes i have try and not work!

 

I have only ReviewCount worked.  Average is not work ;(

Share this post


Link to post
Share on other sites

Here is my exact code in product.tpl under PS 1.5.4.1 :

	<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

        <span itemprop="ratingValue">{hook h="yotpoProductAverageScore" product_id=$product->id}</span>
        <span itemprop="ratingCount">{hook h="yotpoProductReviewCount" product_id=$product->id}</span>
              
        </div>

If it works, you should see the average score and review count when you are on the product page.

 

Did you enable rich snippets in your module AND Yotpo account under tools/google ? If you don't see the option in your account please contact Yotpo awesome support, they will enable it for you ;)

Share this post


Link to post
Share on other sites

Yes i have only "Count":

 

ce648ac8bf.png

 

 

On my BO :

62589af3f4.png

 

 

On yotpo :

52908f21ec.png

 

 

In my product.tpl :

{*
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2014 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{include file="$tpl_dir./errors.tpl"}
{if $errors|@count == 0}
	{if !isset($priceDisplayPrecision)}
		{assign var='priceDisplayPrecision' value=2}
	{/if}
	{if !$priceDisplay || $priceDisplay == 2}
		{assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, $priceDisplayPrecision)}
		{assign var='productPriceWithoutReduction' value=$product->getPriceWithoutReduct(false, $smarty.const.NULL)}
	{elseif $priceDisplay == 1}
		{assign var='productPrice' value=$product->getPrice(false, $smarty.const.NULL, $priceDisplayPrecision)}
		{assign var='productPriceWithoutReduction' value=$product->getPriceWithoutReduct(true, $smarty.const.NULL)}
	{/if}
	<div itemscope itemtype="http://schema.org/Product">
	<div class="primary_block row">
		{if isset($adminActionDisplay) && $adminActionDisplay}
			<div id="admin-action">
				<p>{l s='This product is not visible to your customers.'}
					<input type="hidden" id="admin-action-product-id" value="{$product->id}" />
					<input type="submit" value="{l s='Publish'}" name="publish_button" class="exclusive" />
					<input type="submit" value="{l s='Back'}" name="lnk_view" class="exclusive" />
				</p>
				<p id="admin-action-result"></p>
			</div>
		{/if}
		{if isset($confirmation) && $confirmation}
			<p class="confirmation">
				{$confirmation}
			</p>
		{/if}
		<!-- left infos-->  
		<div class="pb-left-column col-xs-12 col-sm-4 col-md-5">
			<!-- product img-->        
			<div id="image-block" class="clearfix">
				{if $product->new}
					<span class="new-box">
						<span class="new-label">{l s='New'}</span>
					</span>
				{/if}
				{if $product->on_sale}
					<span class="sale-box no-print">
						<span class="sale-label">{l s='Sale!'}</span>
					</span>
				{elseif $product->specificPrice && $product->specificPrice.reduction && $productPriceWithoutReduction > $productPrice}
					<span class="discount">{l s='Reduced price!'}</span>
				{/if}
				{if $have_image}
					<span id="view_full_size">
						{if $jqZoomEnabled && $have_image && !$content_only}
							<a class="jqzoom" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" rel="gal1" href="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox_default')|escape:'html':'UTF-8'}" itemprop="url">
								<img itemprop="image" src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}"/>
							</a>
						{else}
							<img id="bigpic" itemprop="image" src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" width="{$largeSize.width}" height="{$largeSize.height}"/>
							{if !$content_only}
								<span class="span_link no-print">{l s='View larger'}</span>
							{/if}
						{/if}
					</span>
				{else}
					<span id="view_full_size">
						<img itemprop="image" src="{$img_prod_dir}{$lang_iso}-default-large_default.jpg" id="bigpic" alt="" title="{$product->name|escape:'html':'UTF-8'}" width="{$largeSize.width}" height="{$largeSize.height}"/>
						{if !$content_only}
							<span class="span_link">
								{l s='View larger'}
							</span>
						{/if}
					</span>
				{/if}
			</div> <!-- end image-block -->
			{if isset($images) && count($images) > 0}
				<!-- thumbnails -->
				<div id="views_block" class="clearfix {if isset($images) && count($images) < 2}hidden{/if}">
						
					{if isset($images) && count($images) > 4}
						<span class="view_scroll_spacer">
							<a id="view_scroll_left" class="" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">
								{l s='Previous'}
							</a>
						</span>
					{/if}					
					
					<div id="thumbs_list">
						<ul id="thumbs_list_frame">
						{if isset($images)}
							{foreach from=$images item=image name=thumbnails}
								{assign var=imageIds value="`$product->id`-`$image.id_image`"}
								{if !empty($image.legend)}
									{assign var=imageTitle value=$image.legend|escape:'html':'UTF-8'}
								{else}
									{assign var=imageTitle value=$product->name|escape:'html':'UTF-8'}
								{/if}
								<li id="thumbnail_{$image.id_image}"{if $smarty.foreach.thumbnails.last} class="last"{/if}>
	<a{if $jqZoomEnabled && $have_image && !$content_only} href="javascript:void(0);" rel="{literal}[spam-filter]/literal}gallery: 'gal1', smallimage: '{$link->getImageLink($product->link_rewrite, $imageIds, 'large_default')|escape:'html':'UTF-8'}',largeimage: '{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')|escape:'html':'UTF-8'}'{literal[spam-filter]{/literal}"{else} href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox_default')|escape:'html':'UTF-8'}"	data-fancybox-group="other-views" class="fancybox{if $image.id_image == $cover.id_image} shown{/if}"{/if} title="{$imageTitle}">
		<img class="img-responsive" id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'cart_default')|escape:'html':'UTF-8'}" alt="{$imageTitle}" title="{$imageTitle}" height="{$cartSize.height}" width="{$cartSize.width}" itemprop="image" />
	</a>
</li>
							{/foreach}
						{/if}
						</ul>
					</div> <!-- end thumbs_list -->
					
					{if isset($images) && count($images) > 4}
						<a id="view_scroll_right" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">
							{l s='Next'}
						</a>
					{/if}
					
				</div> <!-- end views-block -->
				<!-- end thumbnails -->
			{/if}
			{if isset($images) && count($images) > 1}
				<p class="resetimg clear no-print">
					<span id="wrapResetImages" style="display: none;">
						<a href="{$link->getProductLink($product)|escape:'html':'UTF-8'}" name="resetImages">
							<i class="icon-repeat"></i>
							{l s='Display all pictures'}
						</a>
					</span>
				</p>
			{/if}

			{if !$content_only}
				<!-- usefull links-->
				<ul id="usefull_link_block" class="clearfix no-print">
					{if $HOOK_EXTRA_LEFT}{$HOOK_EXTRA_LEFT}{/if}

	<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

        <span itemprop="ratingValue">{hook h="yotpoProductAverageScore" product_id=$product->id}</span>
        <span itemprop="ratingCount">{hook h="yotpoProductReviewCount" product_id=$product->id}</span>
              
        </div>
					<li class="print">
						<a href="javascript:print();">
							{l s='Print'}
						</a>
					</li>
					{if $have_image && !$jqZoomEnabled}{/if}
				</ul>
			{/if}
			
		</div> <!-- end pb-left-column -->
		<!-- end left infos--> 
		<!-- center infos -->
		<div class="pb-center-column col-xs-12 col-sm-7">
			{if $product->online_only}
				<p class="online_only">{l s='Online only'}</p>
			{/if}
			<h1 itemprop="name">{$product->name|escape:'html':'UTF-8'}</h1>
			<p id="product_reference"{if empty($product->reference) || !$product->reference} style="display: none;"{/if}>
				<label>{l s='Model'} </label>
				<span class="editable" itemprop="sku">{if !isset($groups)}{$product->reference|escape:'html':'UTF-8'}{/if}</span>
			</p>
			{if $product->condition}
			<p id="product_condition">
				<label>{l s='Condition'} </label>
				{if $product->condition == 'new'}
					<link itemprop="itemCondition" href="http://schema.org/NewCondition"/>
					<span class="editable">{l s='New'}</span>
				{elseif $product->condition == 'used'}
					<link itemprop="itemCondition" href="http://schema.org/UsedCondition"/>
					<span class="editable">{l s='Used'}</span>
				{elseif $product->condition == 'refurbished'}
					<link itemprop="itemCondition" href="http://schema.org/RefurbishedCondition"/>
					<span class="editable">{l s='Refurbished'}</span>
				{/if}
			</p>
			{/if}
			{if $product->description_short || $packItems|@count > 0}
				<div id="short_description_block">
					{if $product->description_short}
						<div id="short_description_content" class="rte align_justify" itemprop="description">{$product->description_short}</div>
					{/if}

					{if $product->description}
						<p class="buttons_bottom_block">
							<a href="javascript:{ldelim}{rdelim}" class="button">
								{l s='More details'}
							</a>
						</p>
					{/if}
					<!--{if $packItems|@count > 0}
						<div class="short_description_pack">
						<h3>{l s='Pack content'}</h3>
							{foreach from=$packItems item=packItem}

							<div class="pack_content">
								{$packItem.pack_quantity} x <a href="{$link->getProductLink($packItem.id_product, $packItem.link_rewrite, $packItem.category)|escape:'html':'UTF-8'}">{$packItem.name|escape:'html':'UTF-8'}</a>
								<p>{$packItem.description_short}</p>
							</div>
							{/foreach}
						</div>
					{/if}-->
				</div> <!-- end short_description_block -->
			{/if}
			
			<!-- pb-right-column-->
		<div class="pb-right-column">
			{if ($product->show_price && !isset($restricted_country_mode)) || isset($groups) || $product->reference || (isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS)}
			<!-- add to cart form-->
			<form id="buy_block"{if $PS_CATALOG_MODE && !isset($groups) && $product->quantity > 0} class="hidden"{/if} action="{$link->getPageLink('cart')|escape:'html':'UTF-8'}" method="post">
				<!-- hidden datas -->
				<p class="hidden">
					<input type="hidden" name="token" value="{$static_token}" />
					<input type="hidden" name="id_product" value="{$product->id|intval}" id="product_page_product_id" />
					<input type="hidden" name="add" value="1" />
					<input type="hidden" name="id_product_attribute" id="idCombination" value="" />
				</p>
				<div class="box-info-product">
					<div class="content_prices clearfix">
						{if $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
							<!-- prices -->
							<div class="price">
								<p class="our_price_display" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
									{if $product->quantity > 0}<link itemprop="availability" href="http://schema.org/InStock"/>{/if}
									{if $priceDisplay >= 0 && $priceDisplay <= 2}
										<span id="our_price_display" itemprop="price">{convertPrice price=$productPrice}</span>
										<!--{if $tax_enabled  && ((isset($display_tax_label) && $display_tax_label == 1) || !isset($display_tax_label))}
											{if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}
										{/if}-->
										<meta itemprop="priceCurrency" content="{$currency->iso_code}" />
										{hook h="displayProductPriceBlock" product=$product type="price"}
									{/if}
								</p>
								<p id="reduction_percent" {if !$product->specificPrice || $product->specificPrice.reduction_type != 'percentage'} style="display:none;"{/if}>
									<span id="reduction_percent_display">
										{if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}-{$product->specificPrice.reduction*100}%{/if}
									</span>
								</p>
								<p id="reduction_amount" {if !$product->specificPrice || $product->specificPrice.reduction_type != 'amount' || $product->specificPrice.reduction|floatval ==0} style="display:none"{/if}>
									<span id="reduction_amount_display">
									{if $product->specificPrice && $product->specificPrice.reduction_type == 'amount' && $product->specificPrice.reduction|floatval !=0}
										-{convertPrice price=$productPriceWithoutReduction-$productPrice|floatval}
									{/if}
									</span>
								</p>
								<p id="old_price"{if (!$product->specificPrice || !$product->specificPrice.reduction) && $group_reduction == 0} class="hidden"{/if}>
									{if $priceDisplay >= 0 && $priceDisplay <= 2}
										{hook h="displayProductPriceBlock" product=$product type="old_price"}
										<span id="old_price_display">{if $productPriceWithoutReduction > $productPrice}{convertPrice price=$productPriceWithoutReduction}{/if}</span>
										<!-- {if $tax_enabled && $display_tax_label == 1}{if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}{/if} -->
									{/if}
								</p>
								{if $priceDisplay == 2}
									<br />
									<span id="pretaxe_price">
										<span id="pretaxe_price_display">{convertPrice price=$product->getPrice(false, $smarty.const.NULL)}</span>
										{l s='tax excl.'}
									</span>
								{/if}
							</div> <!-- end prices -->
							{if $packItems|@count && $productPrice < $product->getNoPackPrice()}
								<p class="pack_price">{l s='Instead of'} <span style="text-decoration: line-through;">{convertPrice price=$product->getNoPackPrice()}</span></p>
							{/if}
							{if $product->ecotax != 0}
								<p class="price-ecotax">{l s='Include'} <span id="ecotax_price_display">{if $priceDisplay == 2}{$ecotax_tax_exc|convertAndFormatPrice}{else}{$ecotax_tax_inc|convertAndFormatPrice}{/if}</span> {l s='For green tax'}
									{if $product->specificPrice && $product->specificPrice.reduction}
									<br />{l s='(not impacted by the discount)'}
									{/if}
								</p>
							{/if}
							{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
								{math equation="pprice / punit_price"  pprice=$productPrice  punit_price=$product->unit_price_ratio assign=unit_price}
								<p class="unit-price"><span id="unit_price_display">{convertPrice price=$unit_price}</span> {l s='per'} {$product->unity|escape:'html':'UTF-8'}</p>
								{hook h="displayProductPriceBlock" product=$product type="unit_price"}
							{/if}
						{/if} {*close if for show price*}
						{hook h="displayProductPriceBlock" product=$product type="weight"}
						<div class="clear"></div>
					</div> <!-- end content_prices -->
					<div class="product_attributes clearfix">
						<!-- quantity wanted -->
						{if !$PS_CATALOG_MODE}
						<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
							<label>{l s='Quantity:'}</label>
							<input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />
							<a href="#" data-field-qty="qty" class="btn btn-default button-minus product_quantity_down">
								<span><i class="icon-minus"></i></span>
							</a>
							<a href="#" data-field-qty="qty" class="btn btn-default button-plus product_quantity_up">
								<span><i class="icon-plus"></i></span>
							</a>
							<span class="clearfix"></span>
						</p>
						{/if}
						<!-- minimal quantity wanted -->
						<p id="minimal_quantity_wanted_p"{if $product->minimal_quantity <= 1 || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
							{l s='This product is not sold individually. You must select at least'} <b id="minimal_quantity_label">{$product->minimal_quantity}</b> {l s='quantity for this product.'}
						</p>
						{if isset($groups)}
							<!-- attributes -->
							<div id="attributes">
								<div class="clearfix"></div>
								{foreach from=$groups key=id_attribute_group item=group}
									{if $group.attributes|@count}
										<fieldset class="attribute_fieldset">
											<label class="attribute_label" {if $group.group_type != 'color' && $group.group_type != 'radio'}for="group_{$id_attribute_group|intval}"{/if}>{$group.name|escape:'html':'UTF-8'} : </label>
											{assign var="groupName" value="group_$id_attribute_group"}
											<div class="attribute_list">
												{if ($group.group_type == 'select')}
													<select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="form-control attribute_select no-print">
														{foreach from=$group.attributes key=id_attribute item=group_attribute}
															<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'html':'UTF-8'}">{$group_attribute|escape:'html':'UTF-8'}</option>
														{/foreach}
													</select>
												{elseif ($group.group_type == 'color')}
													<ul id="color_to_pick_list" class="clearfix">
	{assign var="default_colorpicker" value=""}
	{foreach from=$group.attributes key=id_attribute item=group_attribute}
		{assign var='img_color_exists' value=file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}
		<li{if $group.default == $id_attribute} class="selected"{/if}>
			<a href="{$link->getProductLink($product)|escape:'html':'UTF-8'}" id="color_{$id_attribute|intval}" name="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}"{if !$img_color_exists && isset($colors.$id_attribute.value) && $colors.$id_attribute.value} style="background:{$colors.$id_attribute.value|escape:'html':'UTF-8'};"{/if} title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}">
				{if $img_color_exists}
					<img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" />
				{/if}
			</a>
		</li>
		{if ($group.default == $id_attribute)}
			{$default_colorpicker = $id_attribute}
		{/if}
	{/foreach}
</ul>
													<input type="hidden" class="color_pick_hidden" name="{$groupName|escape:'html':'UTF-8'}" value="{$default_colorpicker|intval}" />
												{elseif ($group.group_type == 'radio')}
													<ul>
														{foreach from=$group.attributes key=id_attribute item=group_attribute}
															<li>
																<input type="radio" class="attribute_radio" name="{$groupName|escape:'html':'UTF-8'}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} />
																<span>{$group_attribute|escape:'html':'UTF-8'}</span>
															</li>
														{/foreach}
													</ul>
												{/if}
											</div> <!-- end attribute_list -->
										</fieldset>
									{/if}
								{/foreach}
							</div> <!-- end attributes -->
						{/if}
					</div> <!-- end product_attributes -->
					<div class="box-cart-bottom">
						<div{if (!$allow_oosp && $product->quantity <= 0) || !$product->available_for_order || (isset($restricted_country_mode) && $restricted_country_mode) || $PS_CATALOG_MODE} class="unvisible"{/if}>
							<p id="add_to_cart" class="buttons_bottom_block no-print">
								<button type="submit" name="Submit" class="exclusive">
									<span>{l s='Add to cart'}</span>
								</button>
							</p>
						</div>
						{if isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS}{$HOOK_PRODUCT_ACTIONS}{/if}<strong></strong>
					</div> <!-- end box-cart-bottom -->
</div> <!-- end box-info-product -->
			</form>
			{/if}
		</div> <!-- end pb-right-column-->
			
			{if ($display_qties == 1 && !$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && $product->available_for_order)}
				<!-- number of item in stock -->
				<p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
					<span id="quantityAvailable">{$product->quantity|intval}</span>
					<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item'}</span>
					<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items'}</span>
				</p>
			{/if}
			{if $PS_STOCK_MANAGEMENT}
				<!-- availability -->
				<p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) || ($product->quantity > 0 && !$product->available_now) || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none;"{/if}>
					{*<span id="availability_label">{l s='Availability:'}</span>*}
					<span id="availability_value"{if $product->quantity <= 0 && !$allow_oosp} class="warning_inline"{/if}>{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}</span>
				</p>
				{hook h="displayProductDeliveryTime" product=$product}
				<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties || $product->quantity <= 0) || $allow_oosp || !$product->available_for_order || $PS_CATALOG_MODE} style="display: none"{/if} >{l s='Warning: Last items in stock!'}</p>
			{/if}
			<p id="availability_date"{if ($product->quantity > 0) || !$product->available_for_order || $PS_CATALOG_MODE || !isset($product->available_date) || $product->available_date < $smarty.now|date_format:'%Y-%m-%d'} style="display: none;"{/if}>
				<span id="availability_date_label">{l s='Availability date:'}</span>
				<span id="availability_date_value">{dateFormat date=$product->available_date full=false}</span>
			</p>
			<!-- Out of stock hook -->
			<div id="oosHook"{if $product->quantity > 0} style="display: none;"{/if}>
				{$HOOK_PRODUCT_OOS}
			</div>
			{if isset($HOOK_EXTRA_RIGHT) && $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}
			
		</div>
		<!-- end center infos-->
		
	</div> <!-- end primary_block -->
	{if !$content_only}
{if (isset($quantity_discounts) && count($quantity_discounts) > 0)}
			<!-- quantity discount -->
			<section class="page-product-box">
				<h3 class="page-product-heading">{l s='Volume discounts'}</h3>
				<div id="quantityDiscount">
					<table class="std table-product-discounts">
						<thead>
							<tr>
								<th>{l s='Quantity'}</th>
								<th>{if $display_discount_price}{l s='Price'}{else}{l s='Discount'}{/if}</th>
								<th>{l s='You Save'}</th>
							</tr>
						</thead>
						<tbody>
							{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
							<tr id="quantityDiscount_{$quantity_discount.id_product_attribute}" class="quantityDiscount_{$quantity_discount.id_product_attribute}">
								<td>
									{$quantity_discount.quantity|intval}
								</td>
								<td>
									{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
										{if $display_discount_price}
											{convertPrice price=$productPrice-$quantity_discount.real_value|floatval}
										{else}
											{convertPrice price=$quantity_discount.real_value|floatval}
										{/if}
									{else}
										{if $display_discount_price}
											{convertPrice price = $productPrice-($productPrice*$quantity_discount.reduction)|floatval}
										{else}
											{$quantity_discount.real_value|floatval}%
										{/if}
									{/if}
								</td>
								<td>
									<span>{l s='Up to'}</span>
									{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
										{$discountPrice=$productPrice-$quantity_discount.real_value|floatval}
									{else}
										{$discountPrice=$productPrice-($productPrice*$quantity_discount.reduction)|floatval}
									{/if}
									{$discountPrice=$discountPrice*$quantity_discount.quantity}
									{$qtyProductPrice = $productPrice*$quantity_discount.quantity}
									{convertPrice price=$qtyProductPrice-$discountPrice}
								</td>
							</tr>
							{/foreach}
						</tbody>
					</table>
				</div>
			</section>
		{/if}
		
<!-- Megnor start : TAB-->
{if (isset($product) && $product->description) || (isset($features) && $features) || (isset($accessories) && $accessories) || (isset($HOOK_PRODUCT_TAB) && $HOOK_PRODUCT_TAB) || (isset($attachments) && $attachments) || isset($product) && $product->customizable}
<section class="tm-tabcontent">
	<ul id="productpage_tab" class="nav nav-tabs clearfix">
		{if $product->description}
			<li class="active"><a data-toggle="tab" href="#moreinfo" class="moreinfo">{l s='More info'}</a></li>
		{/if}
		{if isset($features) && $features}
			<li><a class="datasheet" href="#datasheet" data-toggle="tab">{l s='Data sheet'}</a></li>
		{/if}
		{if isset($attachments) && $attachments}
			<li><a class="tmdownlaod" href="#tmdownlaod" data-toggle="tab">{l s='Download'}</a></li>
		{/if}
		{if isset($product) && $product->customizable}
			<li><a class="tmcustomization" href="#tmcustomization" data-toggle="tab">{l s='Product customization'}</a></li>
		{/if}
	</ul>
	
	<div class="tab-content">
		<!-- More Info -->
		{if isset($product) && $product->description}
			<ul id="moreinfo" class="tm_productinner tab-pane active">
				{$product->description}
			</ul>
		{/if}<!-- End More Info -->
			
		<!-- Data sheet -->
		{if isset($features) && $features}
			<ul id="datasheet" class="tm_productinner tab-pane">
				<table class="table-data-sheet">			
					{foreach from=$features item=feature}
					<tr class="{cycle values="odd,even"}">
						{if isset($feature.value)}			    
						<td>{$feature.name|escape:'html':'UTF-8'}</td>
						<td>{$feature.value|escape:'html':'UTF-8'}</td>
						{/if}
					</tr>
					{/foreach}
				</table>
			</ul>
		{/if} <!--end Data sheet -->
		
		<!--Download -->
		{if isset($features) && $features}
			<ul id="tmdownlaod" class="tm_productinner tab-pane">
				{foreach from=$attachments item=attachment name=attachements}
					{if $smarty.foreach.attachements.iteration %3 == 1}<div class="row">{/if}
						<div class="col-lg-4">
							<h4><a href="{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")|escape:'html':'UTF-8'}">{$attachment.name|escape:'html':'UTF-8'}</a></h4>
							<p class="text-muted">{$attachment.description|escape:'html':'UTF-8'}</p>
							<a class="btn btn-default btn-block" href="{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")|escape:'html':'UTF-8'}">
								<i class="icon-download"></i>
								{l s="Download"} ({Tools::formatBytes($attachment.file_size, 2)})
							</a>
							<hr>
						</div>
					{if $smarty.foreach.attachements.iteration %3 == 0 || $smarty.foreach.attachements.last}</div>{/if}
				{/foreach}
			</ul>
		{/if} <!--end Download -->
		
		<!-- Customizable products -->
		{if isset($features) && $features}
		
			<ul id="tmcustomization" class="tm_productinner tab-pane">
				<form method="post" action="{$customizationFormTarget}" enctype="multipart/form-data" id="customizationForm" class="clearfix">
					<p class="infoCustomizable">
						{l s='After saving your customized product, remember to add it to your cart.'}
						{if $product->uploadable_files}
						<br />
						{l s='Allowed file formats are: GIF, JPG, PNG'}{/if}
					</p>
					{if $product->uploadable_files|intval}
						<div class="customizableProductsFile">
							<h5 class="product-heading-h5">{l s='Pictures'}</h5>
							<ul id="uploadable_files" class="clearfix">
								{counter start=0 assign='customizationField'}
								{foreach from=$customizationFields item='field' name='customizationFields'}
									{if $field.type == 0}
										<li class="customizationUploadLine{if $field.required} required{/if}">{assign var='key' value='pictures_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
											{if isset($pictures.$key)}
												<div class="customizationUploadBrowse">
													<img src="{$pic_dir}{$pictures.$key}_small" alt="" />
														<a href="{$link->getProductDeletePictureLink($product, $field.id_customization_field)|escape:'html':'UTF-8'}" title="{l s='Delete'}" >
															<img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="customization_delete_icon" width="11" height="13" />
														</a>
												</div>
											{/if}
											<div class="customizationUploadBrowse form-group">
												<label class="customizationUploadBrowseDescription">
													{if !empty($field.name)}
														{$field.name}
													{else}
														{l s='Please select an image file from your computer'}
													{/if}
													{if $field.required}<sup>*</sup>{/if}
												</label>
												<input type="file" name="file{$field.id_customization_field}" id="img{$customizationField}" class="form-control customization_block_input {if isset($pictures.$key)}filled{/if}" />
											</div>
										</li>
										{counter}
									{/if}
								{/foreach}
							</ul>
						</div>
					{/if}
					{if $product->text_fields|intval}
						<div class="customizableProductsText">
							<h5 class="product-heading-h5">{l s='Text'}</h5>
							<ul id="text_fields">
							{counter start=0 assign='customizationField'}
							{foreach from=$customizationFields item='field' name='customizationFields'}
								{if $field.type == 1}
									<li class="customizationUploadLine{if $field.required} required{/if}">
										<label for ="textField{$customizationField}">
											{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
											{if !empty($field.name)}
												{$field.name}
											{/if}
											{if $field.required}<sup>*</sup>{/if}
										</label>
										<textarea name="textField{$field.id_customization_field}" class="form-control customization_block_input" id="textField{$customizationField}" rows="3" cols="20">{strip}
											{if isset($textFields.$key)}
												{$textFields.$key|stripslashes}
											{/if}
										{/strip}</textarea>
									</li>
									{counter}
								{/if}
							{/foreach}
							</ul>
						</div>
					{/if}
					<p id="customizedDatas">
						<input type="hidden" name="quantityBackup" id="quantityBackup" value="" />
						<input type="hidden" name="submitCustomizedDatas" value="1" />
						<button class="button btn btn-default button button-small" name="saveCustomization">
							<span>{l s='Save'}</span>
						</button>
						<span id="ajax-loader" class="unvisible">
							<img src="{$img_ps_dir}loader.gif" alt="loader" />
						</span>
					</p>
				</form>
				<p class="clear required"><sup>*</sup> {l s='required fields'}</p>
			</ul>
		{/if} <!--end Customizable products -->
		
	</div>

</section>
{/if}
<!-- Megnor End :TAB -->

		<!--HOOK_PRODUCT_TAB -->
		<section class="page-product-box">
			{$HOOK_PRODUCT_TAB}
			{if isset($HOOK_PRODUCT_TAB_CONTENT) && $HOOK_PRODUCT_TAB_CONTENT}{$HOOK_PRODUCT_TAB_CONTENT}{/if}
		</section>
		<!--end HOOK_PRODUCT_TAB -->
		
		{if isset($accessories) && $accessories}
			<!--Accessories -->
			<section class="page-product-box accessories-product products_block">
				<h3 class="page-product-heading">{l s='Accessories'}</h3>
				<div class="block accessories-block clearfix">
					<div class="block_content">
					
					<!-- Megnor start -->
					{assign var='sliderFor' value=3} <!-- Define Number of product for SLIDER -->
					{assign var='productCount' value=count($accessories)}
					{if $productCount >= $sliderFor}
					<div class="customNavigation">
						<a class="btn prev accessories_prev"><i class="icon-chevron-sign-left"></i></a>
						<a class="btn next accessories_next"><i class="icon-chevron-sign-right"></i></a>
					</div>
					{/if}
					<!-- Megnor End -->
					<ul id="{if $productCount >= $sliderFor}accessories-carousel{else}accessories-grid{/if}" class="{if $productCount >= $sliderFor}tm-carousel{else}product_list grid row{/if} clearfix">
							{foreach from=$accessories item=accessory name=accessories_list}
								{if ($accessory.allow_oosp || $accessory.quantity_all_versions > 0 || $accessory.quantity > 0) && $accessory.available_for_order && !isset($restricted_country_mode)}
								{assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)}
								<li class="{if $productCount >= $sliderFor}item{else} ajax_block_product col-xs-12 col-sm-4 col-md-4 {/if} product-box {if $smarty.foreach.accessories_list.first} first_item {/if} {if $smarty.foreach.accessories_list.last} last_item {/if} ">
										<div class="product-container" itemscope itemtype="http://schema.org/Product">
								<div class="product_desc">
											<a href="{$accessoryLink|escape:'html':'UTF-8'}" title="{$accessory.legend|escape:'html':'UTF-8'}" class="product-image product_image">
												<img class="lazyOwl" src="{$link->getImageLink($accessory.link_rewrite, $accessory.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{$accessory.legend|escape:'html':'UTF-8'}" width="{$homeSize.width}" height="{$homeSize.height}"/>
											</a>
											<div class="block_description">
												<a href="{$accessoryLink|escape:'html':'UTF-8'}" title="{l s='More'}" class="product_description">
													{$accessory.description_short|strip_tags|truncate:20:'...'}
												</a>
											</div>
										</div>
										<div class="s_title_block">
											<h5 itemprop="name">
												<a class="product-name" href="{$accessoryLink|escape:'html':'UTF-8'}">
													{$accessory.name|truncate:15:'...':true|escape:'html':'UTF-8'}
												</a>
											</h5>
											
											{if $accessory.show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
											<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="content_price">
											<span class="price product-price">
												{if $priceDisplay != 1}
												{displayWtPrice p=$accessory.price}{else}{displayWtPrice p=$accessory.price_tax_exc}
												{/if}
											</span>
											</div>
											{/if}
										</div>
										<div class="clearfix" style="margin-top:5px">
											{if !$PS_CATALOG_MODE && ($accessory.allow_oosp || $accessory.quantity > 0)}
												<div class="no-print button-container">
													<a class="exclusive button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, "qty=1&id_product={$accessory.id_product|intval}&token={$static_token}&add")|escape:'html':'UTF-8'}" data-id-product="{$accessory.id_product|intval}" title="{l s='Add to cart'}">
														<span>{l s='Add to cart'}</span>
													</a>
												</div>
											{/if}
										</div>
										</div>
									</li>
								{/if}
							{/foreach}
						</ul>
					</div>
				</div>	
			</section>
			<!--end Accessories -->
		{/if}
		{if isset($HOOK_PRODUCT_FOOTER) && $HOOK_PRODUCT_FOOTER}{$HOOK_PRODUCT_FOOTER}{/if}
		{if isset($packItems) && $packItems|@count > 0}
		<section id="blockpack">
			<h3 class="page-product-heading">{l s='Pack content'}</h3>
			{include file="$tpl_dir./product-list.tpl" products=$packItems}
		</section>
		{/if}
	{/if}
</div> <!-- itemscope product wrapper -->
{strip}
{if isset($smarty.get.ad) && $smarty.get.ad}
	{addJsDefL name=ad}{$base_dir|cat:$smarty.get.ad|escape:'html':'UTF-8'}{/addJsDefL}
{/if}
{if isset($smarty.get.adtoken) && $smarty.get.adtoken}
	{addJsDefL name=adtoken}{$smarty.get.adtoken|escape:'html':'UTF-8'}{/addJsDefL}
{/if}
{addJsDef allowBuyWhenOutOfStock=$allow_oosp|boolval}
{addJsDef availableNowValue=$product->available_now|escape:'quotes':'UTF-8'}
{addJsDef availableLaterValue=$product->available_later|escape:'quotes':'UTF-8'}
{addJsDef attribute_anchor_separator=$attribute_anchor_separator|addslashes}
{addJsDef attributesCombinations=$attributesCombinations}
{addJsDef currencySign=$currencySign|html_entity_decode:2:"UTF-8"}
{addJsDef currencyRate=$currencyRate|floatval}
{addJsDef currencyFormat=$currencyFormat|intval}
{addJsDef currencyBlank=$currencyBlank|intval}
{addJsDef currentDate=$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}
{if isset($combinations) && $combinations}
	{addJsDef combinations=$combinations}
	{addJsDef combinationsFromController=$combinations}
	{addJsDef displayDiscountPrice=$display_discount_price}
	{addJsDefL name='upToTxt'}{l s='Up to' js=1}{/addJsDefL}
{/if}
{if isset($combinationImages) && $combinationImages}
	{addJsDef combinationImages=$combinationImages}
{/if}
{addJsDef customizationFields=$customizationFields}
{addJsDef default_eco_tax=$product->ecotax|floatval}
{addJsDef displayPrice=$priceDisplay|intval}
{addJsDef ecotaxTax_rate=$ecotaxTax_rate|floatval}
{addJsDef group_reduction=$group_reduction}
{if isset($cover.id_image_only)}
	{addJsDef idDefaultImage=$cover.id_image_only|intval}
{else}
	{addJsDef idDefaultImage=0}
{/if}
{addJsDef img_ps_dir=$img_ps_dir}
{addJsDef img_prod_dir=$img_prod_dir}
{addJsDef id_product=$product->id|intval}
{addJsDef jqZoomEnabled=$jqZoomEnabled|boolval}
{addJsDef maxQuantityToAllowDisplayOfLastQuantityMessage=$last_qties|intval}
{addJsDef minimalQuantity=$product->minimal_quantity|intval}
{addJsDef noTaxForThisProduct=$no_tax|boolval}
{addJsDef customerGroupWithoutTax=$customer_group_without_tax|boolval}
{addJsDef oosHookJsCodeFunctions=Array()}
{addJsDef productHasAttributes=isset($groups)|boolval}
{addJsDef productPriceTaxExcluded=($product->getPriceWithoutReduct(true)|default:'null' - $product->ecotax)|floatval}
{addJsDef productBasePriceTaxExcluded=($product->base_price - $product->ecotax)|floatval}
{addJsDef productBasePriceTaxExcl=($product->base_price|floatval)}
{addJsDef productReference=$product->reference|escape:'html':'UTF-8'}
{addJsDef productAvailableForOrder=$product->available_for_order|boolval}
{addJsDef productPriceWithoutReduction=$productPriceWithoutReduction|floatval}
{addJsDef productPrice=$productPrice|floatval}
{addJsDef productUnitPriceRatio=$product->unit_price_ratio|floatval}
{addJsDef productShowPrice=(!$PS_CATALOG_MODE && $product->show_price)|boolval}
{addJsDef PS_CATALOG_MODE=$PS_CATALOG_MODE}
{if $product->specificPrice && $product->specificPrice|@count}
	{addJsDef product_specific_price=$product->specificPrice}
{else}
	{addJsDef product_specific_price=array()}
{/if}
{if $display_qties == 1 && $product->quantity}
	{addJsDef quantityAvailable=$product->quantity}
{else}
	{addJsDef quantityAvailable=0}
{/if}
{addJsDef quantitiesDisplayAllowed=$display_qties|boolval}
{if $product->specificPrice && $product->specificPrice.reduction && $product->specificPrice.reduction_type == 'percentage'}
	{addJsDef reduction_percent=$product->specificPrice.reduction*100|floatval}
{else}
	{addJsDef reduction_percent=0}
{/if}
{if $product->specificPrice && $product->specificPrice.reduction && $product->specificPrice.reduction_type == 'amount'}
	{addJsDef reduction_price=$product->specificPrice.reduction|floatval}
{else}
	{addJsDef reduction_price=0}
{/if}
{if $product->specificPrice && $product->specificPrice.price}
	{addJsDef specific_price=$product->specificPrice.price|floatval}
{else}
	{addJsDef specific_price=0}
{/if}
{addJsDef specific_currency=($product->specificPrice && $product->specificPrice.id_currency)|boolval} {* TODO: remove if always false *}
{addJsDef stock_management=$stock_management|intval}
{addJsDef taxRate=$tax_rate|floatval}
{addJsDefL name=doesntExist}{l s='This combination does not exist for this product. Please select another combination.' js=1}{/addJsDefL}
{addJsDefL name=doesntExistNoMore}{l s='This product is no longer in stock' js=1}{/addJsDefL}
{addJsDefL name=doesntExistNoMoreBut}{l s='with those attributes but is available with others.' js=1}{/addJsDefL}
{addJsDefL name=fieldRequired}{l s='Please fill in all the required fields before saving your customization.' js=1}{/addJsDefL}
{addJsDefL name=uploading_in_progress}{l s='Uploading in progress, please be patient.' js=1}{/addJsDefL}
{addJsDefL name='product_fileDefaultHtml'}{l s='No file selected' js=1}{/addJsDefL}
{addJsDefL name='product_fileButtonHtml'}{l s='Choose File' js=1}{/addJsDefL}
{/strip}
{/if}

Thanks you for u help!!!!! :)

Share this post


Link to post
Share on other sites

Your code looks fine, do you use latest 1.4.3 module and did you enabled snippets option in your Yotpo account ?

Share this post


Link to post
Share on other sites

 

do you use latest 1.4.3 module and did you enabled snippets option in your Yotpo account ?

 

 

1.4.3 yes

You enabled snippet (I posted a screen, there is another place?)

 

 

b5deb284b5.png

Share this post


Link to post
Share on other sites

0e388eb851.png

 

I can not uninstall the plugin, yotpo had a lot of trouble to make it work at home (2 months ...)12a542f9ff.png

Share this post


Link to post
Share on other sites

I tried on another shop and have the same problem as you, I solved it by uninstall and install the module again.

 

Please try that, that should work or at least try to reinitialize the module.

Edited by KevinNash (see edit history)

Share this post


Link to post
Share on other sites

Thanks so much to, KevinNash for being a hero and helping the community again!

Share this post


Link to post
Share on other sites

Maybe I missed it some where in the last 34 pages ;) but is it possible to include ratings in the product quick view and in the category view?

 

Thanks!

Edited by sepulchre (see edit history)

Share this post


Link to post
Share on other sites

Maybe I missed it some where in the last 34 pages ;) but is it possible to include ratings in the product quick view and in the category view?

 

Thanks!

 

Hey sepulchre!

 

It is possible to include star ratings in the product quick view and the category view. Check out this article and please don't hesitate to contact our awesome Support team at support@yotpo.com if you need any help.

 

Thanks!

Share this post


Link to post
Share on other sites

Hey sepulchre!

 

It is possible to include star ratings in the product quick view and the category view. Check out this article and please don't hesitate to contact our awesome Support team at support@yotpo.com if you need any help.

 

Thanks!

 

Thanks, I've tried this but I cant get it to work. I will drop your support team an email!

  • Like 1

Share this post


Link to post
Share on other sites
HI there,
 

It's much better use  this code with   [ class="hidden ]

 

 
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
 
        <span class="hidden" itemprop="ratingValue">{hook h="yotpoProductAverageScore" product_id=$product->id}</span>
        <span class="hidden" itemprop="ratingCount">{hook h="yotpoProductReviewCount" product_id=$product->id}</span>
              

</div>

 

it's working grate :)

  • Like 1

Share this post


Link to post
Share on other sites