Jump to content

Commentaire produits ne fonctionne pas


Recommended Posts

Bonjour,

 

Voici les informations de mon site :

 


AdminInformation.gif Informations à propos de votre configuration

Informations sur votre serveur


Informations sur votre serveur: Linux #9 SMP Wed Sep 26 03:29:25 CDT 2012 x86_64

Version du logiciel serveur: Apache

Version de PHP: 5.3.28

Limite de mémoire: 128M

Temps d'exécution maximal (max_execution_time): 45



Informations sur la base de données

Version de MySQL: 5.5.34-32.0-log

Moteur MySQL: InnoDB

Préfixe des tables:



Informations sur votre boutique

Version de PrestaShop: 1.5.6.2

URL de votre boutique:

Nom du thème utilisé: MaterielDirect



Informations sur la configuration mail

Méthode d'envoi de mail: Vous utilisez la fonction mail() de PHP



Vos informations

Informations vous concernant: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36


 


AdminInformation.gif Vérifier votre configuration


Paramètres requis: OK

Paramètres optionnels: OK


 

Le module suivant ne fonctionne pas :

 


Commentaires produits INSTALLÉ




Développé par :

PrestaShop

|



Version :

2.9

|



Catégorie :

Fonctionnalités Front Office

Description : Permet aux client de commenter les produits.

 

Dans le module de mon thème j'ai les fichiers joints.

Lorsque j'essaye d'ajouter un commentaire j'ai le message suivant :

 

 

Le titre est incorrect

Le commentaire est incorrect

Le nom est incorrect

Le produit n'a pas été trouvé

 

Merci d'avance pour votre aide !

 

PS : j'ai du renommer les fichiers .tpl en .php pour pouvoir les upload

de.php

en.php

es.php

fr.php

ru.php

productcomments.php

productcomments-extra.php

products-comparison.php

tab.php

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

J'ai le même problème que vous tous sous Prestashop 1.5.6.2 :

- pas d'erreur javascript, pas d'erreur PHP dans les logs.

 

Lorsque j'inspecte avec Firebug (partie réseau) je vois que vois qu'aucun élément de formulaire n'est passé dans la requête (le contenu de POST est vide).

Ce qui explique la réponse retournée :

{"result":false,"errors":["Le titre est incorrect","Le commentaire est incorrect","Le produit n'a pas \u00e9t\u00e9 trouv\u00e9"]}
 
A priori je crois qu'il faudrait chercher du côté d'un problème d'incompatibilité côté templates ?
Edited by FabriceC (see edit history)
Link to comment
Share on other sites

Je confirme que c'est bien un problème de template, avec celui par défaut les paramètres sont bien passés dans la requête et tout fonctionne :

Paramètresapplication/x-www-form-urlencoded
content est beau criterion[1] 3 id_product 391 title toto
Link to comment
Share on other sites

Donc c'est bien un problème de template.

 

Avant tout, faites une copie de votre template (au cas ou !) :

/themes/VOTRETEMPLATE/modules/productcomments/productcomments.tpl

 

Allez chercher le template par défaut :

/themes/default/modules/productcomments/productcomments.tpl

 

Et placez le en remplacement de celui situé à :

/themes/VOTRETEMPLATE/modules/productcomments/productcomments.tpl

 

Et à priori tout devrait fonctionner (sauf si le problème vient d'ailleurs pour vous ?)

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

Peut être un problème de cache.

Essaye de tester à partir d'une autre machine ou d'un navigateur qui n'a pas ton site en cache.

Ce qui peut se passer, c'est que tu gardes un fichier javascript dans le cache comme un chewing gum sous une semelle de chaussure !

Link to comment
Share on other sites

Par curiosité je viens de regarder ton site (pas difficile de trouver "Alpes Eco Matériaux" ;))

 

Et ton problème est que tu n'as pas dans ton formulaire de commentaire cette partie de code :

<ul id="criterions_list">
<li>
<label>Note:</label>
<div class="star_content">
<input type="hidden" value="3" name="criterion[1]">
<div class="cancel">
<div class="star star_on">
<div class="star star_on">
<div class="star star_on">
<div class="star">
<div class="star">
</div>
<div class="clearfix"></div>
</li>
</ul>

Normalement tu devrais trouver celle-ci dans le template :

(extrait)

				{if $criterions|@count > 0}
					<ul id="criterions_list">
					{foreach from=$criterions item='criterion'}
						<li>
							<label>{$criterion.name|escape:'html':'UTF-8'}:</label>
							<div class="star_content">
								<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="1" />
								<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="2" />
								<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="3" checked="checked" />
								<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="4" />
								<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="5" />
							</div>
							<div class="clearfix"></div>
						</li>
					{/foreach}
					</ul>
				{/if}

Vérifie ton template, le problème semble venir de lui (éventuellement poste le en entier)

Link to comment
Share on other sites

merci favbriceC 

je te mais le productcomments.tpl de mon theme:

 

 

 

<script type="text/javascript">

var productcomments_controller_url = '{$productcomments_controller_url}';
var confirm_report_message = '{l s='Are you sure you want report this comment?' mod='productcomments' js=1}';
var secure_key = '{$secure_key}';
var productcomments_url_rewrite = '{$productcomments_url_rewriting_activated}';
var productcomment_added = '{l s='Your comment has been added!' mod='productcomments' js=1}';
var productcomment_added_moderation = '{l s='Your comment has been added and will be available once approved by a moderator' mod='productcomments' js=1}';
var productcomment_title = '{l s='New comment' mod='productcomments' js=1}';
var productcomment_ok = '{l s='OK' mod='productcomments' js=1}';
var moderation_active = {$moderation_active};
</script>


<div id="idTab5">
<div id="product_comments_block_tab">
{if $comments}
{foreach from=$comments item=comment}
{if $comment.content}
<div class="comment clearfix">
<div class="comment_author">
<span>{l s='Grade' mod='productcomments'}&nbsp</span>
<div class="star_content clearfix">
{section name="i" start=0 loop=5 step=1}
{if $comment.grade le $smarty.section.i.index}
<div class="star"></div>
{else}
<div class="star star_on"></div>
{/if}
{/section}
</div>
<div class="comment_author_infos">
<strong>{$comment.customer_name|escape:'html':'UTF-8'}</strong><br/>
<em>{dateFormat date=$comment.date_add|escape:'html':'UTF-8' full=0}</em>
</div>
</div>
<div class="comment_details">
<p class="title_block">{$comment.title}</p>
<p>{$comment.content|escape:'html':'UTF-8'|nl2br}</p>
<ul>
{if $comment.total_advice > 0}
<li>{l s='%1$d out of %2$d people found this review useful.' sprintf=[$comment.total_useful,$comment.total_advice] mod='productcomments'}</li>
{/if}
{if $logged == 1}
{if !$comment.customer_advice}
<li>{l s='Was this comment useful to you?' mod='productcomments'}<button class="usefulness_btn" data-is-usefull="1" data-id-product-comment="{$comment.id_product_comment}">{l s='yes' mod='productcomments'}</button><button class="usefulness_btn" data-is-usefull="0" data-id-product-comment="{$comment.id_product_comment}">{l s='no' mod='productcomments'}</button></li>
{/if}
{if !$comment.customer_report}
<li><span class="report_btn" data-id-product-comment="{$comment.id_product_comment}">{l s='Report abuse' mod='productcomments'}</span></li>
{/if}
{/if}
</ul>
</div>
</div>
{/if}
{/foreach}
        {if (!$too_early AND ($logged OR $allow_guests))}
<p class="align_center">
<a id="new_comment_tab_btn" class="open-comment-form" href="#new_comment_form">{l s='Write your review' mod='productcomments'} !</a>
</p>
        {/if}
{else}
{if (!$too_early AND ($logged OR $allow_guests))}
<p class="align_center">
<a id="new_comment_tab_btn" class="open-comment-form" href="#new_comment_form">{l s='Be the first to write your review' mod='productcomments'} !</a>
</p>
{else}
<p class="align_center">{l s='No customer comments for the moment.' mod='productcomments'}</p>
{/if}
{/if} 
</div>
</div>
{if isset($product) && $product}
<!-- Fancybox -->
<div style="display: none;">
<div id="new_comment_form">
<form id="id_new_comment_form" action="#">
<h2 class="title">{l s='Write your review' mod='productcomments'}</h2>
{if isset($product) && $product}
<div class="product clearfix">
<img src="{$link->getImageLink($product->link_rewrite, $productcomment_cover, 'home_default')|escape:'html'}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product->name|escape:html:'UTF-8'}" />
<div class="product_desc">
<p class="product_name"><strong>{$product->name}</strong></p>
{$product->description_short}
</div>
</div>
{/if}
<div class="new_comment_form_content">
<h2>{l s='Write your review' mod='productcomments'}</h2>


<div id="new_comment_form_error" class="error" style="display: none; padding: 15px 25px">
<ul></ul>
</div>


{if $criterions|@count > 0}
<ul id="criterions_list">
{foreach from=$criterions item='criterion'}
<li>
<label>{$criterion.name|escape:'html':'UTF-8'}:</label>
<div class="star_content">
<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="1" />
<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="2" />
<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="3" checked="checked" />
<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="4" />
<input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="5" />
</div>
<div class="clearfix"></div>
</li>
{/foreach}
</ul>
{/if}


<label for="comment_title">{l s='Title' mod='productcomments'}: <sup class="required">*</sup></label>
<input id="comment_title" name="title" type="text" value=""/>


<label for="content">{l s='Comment' mod='productcomments'}: <sup class="required">*</sup></label>
<textarea id="content" name="content"></textarea>


{if $allow_guests == true && $logged == 0}
<label>{l s='Your name' mod='productcomments'}: <sup class="required">*</sup></label>
<input id="commentCustomerName" name="customer_name" type="text" value=""/>
{/if}


<div id="new_comment_form_footer">
<input id="id_product_comment_send" name="id_product" type="hidden" value='{$id_product_comment_form}' />
<p class="fl required"><sup>*</sup> {l s='Required fields' mod='productcomments'}</p>
<p class="fr">
<button id="submitNewMessage" name="submitMessage" type="submit">{l s='Send' mod='productcomments'}</button> 
{l s='or' mod='productcomments'} <a href="#" onclick="$.fancybox.close();">{l s='Cancel' mod='productcomments'}</a>
</p>
<div class="clearfix"></div>
</div>
</div>
</form><!-- /end new_comment_form_content -->
</div>
</div>
<!-- End fancybox -->
{/if}

 

 

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

Le template est ok.

Tu as bien effacé le cache Smarty et de l'autoload (dans paramètres avancés -> performances) ? OUI

Tu as bien dans la partie admin du module un critère avec un nom, disponible pour le catalogue entier, avec un statut actif ?

la partie admin du module ?

un critère avec un nom ?

disponible pour le catalogue entier?

avec un statut actif ?

j'ai perdu le fil la  ...  :huh: 

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 year later...

Salut.

J'ai le meme souci avec les etoiles des commentaires produits.

Quand je veux ajouter un com sur un produit les étoiles n'appariassent pas.

Une fois le commentaire validé elles apparaissent mais je ne peux pas les cocher.

Je suis certain que ça vient du thème que j'utilise mais j'arrive pas à corriger le prblm.

Je suis sous Pretashop 1.6.0 et j'utilise le thème Canvastheme.

Si vous avez une idée...

Merci !

Link to comment
Share on other sites

Pour info de mont côté c'ets la partie de code suivant qui semble poser souci.


{if $criterions|@count > 0}
                        <ul id="criterions_list">
                        {foreach from=$criterions item='criterion'}
                            <li>
                                <label>{$criterion.name|escape:'html':'UTF-8'}:</label>
                                <div class="star_content">
                                    <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="1" />
                                    <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="2" />
                                    <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="3" checked="checked" />
                                    <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="4" />
                                    <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="5" />
                                </div>
                                <div class="clearfix"></div>
                            </li>
                        {/foreach}
                        </ul>
                    {/if}

 

 

Je ne passe meme pas le premier if et si je le supprimer je ne rentre pas dans la boucle....

Si vous avez une idée d'avance merci !

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...