THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3
  • yoan
  • Cofondateur Thelia

Offline

#1 -commentaires- Commentaires

(26-08-2008 12:48:10)


Grâce à ce plugin, il sera possible à vos visiteurs de commenter un produit.

-
Produits


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonjour Yoan,

Tout d'abord un grand MERCI pour ce super produit et pour tout le travail que tu fournis tant en terme de dev qu'en terme de participation à ce forum. C'est vraiment super sympa de ne pas se sentir seule au monde ;o))

Pour ma part, je souhaiterai faire une sorte de "livre d'or" pour récupérer des commentaires qui seraient laissés par mes visiteurs, un peu dans le style d'un blog sauf que je ne souhaiterai pas attacher ces commentaires à une page produit mais à une page "Racontez-nous" par exemple (qui pourrait être géré comme si c'était un produit particulier ??) et permettre aux visiteurs de laisser tous leurs commentaires sur tous les produits avec éventuellement un champ "nom du produit concerné par le commentaire"....

J'ai vu ce post :
http://forum.thelia.fr/viewtopic.php?id=1017
Mais c'était avant ton plugin commentaires ;o).

Penses-tu que je pourrais adapter ton plugin (je ne suis pas très forte en prog plugin mais je suis prête à me lancer ;o) pour que les commentaires ne soient pas attachés forcément à un produit de ma boutique ?

Je précise que dans ma boutique je ne gère que 6 produits différents...

Merci beaucoup et @ bientôt !

  • yoan
  • Cofondateur Thelia

Offline


Merci mais je ne suis plus le seul à travailler sur THELIA.
Tu peux tout à fait modifier le plugin commentaire pour supprimer cette association produit.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonsoir donc Yoan et la Thelia team !

Je m'adressais plus particulièrement à toi, sachant que bien d'autres participent au dév de Thelia ainsi qu'au forum, parce que tu es l'auteur du plugin en question ;o)

Quelqu'un pourrait-il svp m'orienter quant aux modifications à faire pour pouvoir adapter ce chouettosse plugin pour faire une sorte de "livre d'or" ?

Merci à tous et à bientôt !

Offline


Bonsoir @ toutezéatous,

Tout d'abord un grand MERCI pour ce plugin qui fonctionne super bien !

Je me suis donc lancée dans l'implémentation de mon "livre d'or". Pour cela, j'ai créé une rubrique "racontez-nous" avec un unique produit "livre d'or".

J'ai géré l'affichage de ma rubrique avec une page "racontez_nous.html" de façon conditionnelle dans rubrique.php de la façon suivante :

switch($_GET['id_rubrique'])
     {
        case '4' : $fond="racontez_nous.html";
                    break;
        default : $fond="rubrique.html";
    }
    $pageret=1;
    $parsephp=1;
    include("fonctions/moteur.php");

Je vous passe le détail du code, mais en gros dans racontez_nous.html j'ai ça dans une boucle produit :

<h2>Vos commentaires</h2>
<T_comment>
	<THELIA_comment type="COMMENTAIRES" ref="#PRODUIT_REF">                                                      
	Message de #NOM : #MESSAGE <br />
	#HEURE #DATE 
	</THELIA_comment>
</T_comment>
									
Soyez le premier à laisser votre commentaire
							
<//T_comment>
						
<!-- Laissez votre commentaire -->
<h2>Laissez votre commentaire</h2>
<form action="rubrique.php?id_rubrique=4" method="post">
	<input type="hidden" name="action" value="ajcommentaire" />
	<input type="hidden" name="commentaire_ref" value="#PRODUIT_REF" />
	<input type="hidden" name="ref" value="#PRODUIT_REF" />
	Votre nom
	<input type="text" name="commentaire_nom" /><br />
	Votre message 
	<textarea name="commentaire_message" cols="60" rows="5"></textarea>
	<br />
	<input type="submit" value="OK" />
</form>

Tout fonctionne correctement mais comme je souhaiterai autoriser le visiteur à mettre un message sur plusieurs ligne, j'ai mis mon textarea sur 5 lignes et j'ai modifié dans Commentaires.class.php (j'espère que c'est bon...) :

$commentaire->message = strip_tags($_POST['commentaire_message']);
par
$commentaire->message = htmlspecialchars($_POST['commentaire_message']);

Dans ma table, j'ai bien mon message sur 2 lignes par exemple si j'ai mis un retour chariot.

En revanche et c'est bien le seul petit souci que je rencontre, à l'affichage, que ce soit dans l'admin (là je m'en fiche un peu) ou dans ma page (là ça m'ennuie bcp...) je récupère le message sur 1 seule ligne alors que je souhaiterai le voir tel qu'il a été saisi.

Je ne vois pas à quel moment la "transformation" s'effectue et donc comment faire pour l'éviter.

Quelqu'un aurait-il svp une idée ?

Merci beaucoup et à bientôt !!

Offline


Bonsoir @ toutezéatous,

J'espère que comme moi, vous avez passé un bon-long-w.e...

Après cet interlude, je reprends mon pb de commentaire (plugin commentaires) qui s'affiche sur 1 ligne alors que dans la table mysql, les infos sont bien sur plusieurs lignes...

Quelqu'un aurait-il svp une idée ?

Merci beaucoup et @ bientôt !!

Offline


Bonjour

Dans Commentaires.class.php function action, en ligne 110, ajoutez:

$commentaire->message = ereg_replace("\n", "<br />", $commentaire->message);

Il y a de fortes probabilités que cela fonctionne.

JHR

Offline


T'es trop fort !!!

En fait ce qu'il faut mettre c'est ça :

$commentaire->message = ereg_replace("\n", "<br />", $_POST['commentaire_message']);

Moi j'avais mis :
$commentaire->message = htmlspecialchars($_POST['commentaire_message']);
pensant que htmlspecialchars ferait la même chose que ereg_replace("\n", "<br />") à tord ;o))

Un grand MERCI !!!

Offline


Je n'ai pas eu besoin d'être fort, j'ai adapté le code qui figure dans les scripts admin/produit_modifier.php pour les chapo, qui peuvent être affichés sur deux lignes !
$produitdesc->chapo = ereg_replace("\n", "<br />", $produitdesc->chapo);

CQFD

Last edited by jhr (04-05-2009 18:23:31)

Offline


tu as tout de même trouvé !!!
@ + et que la force soit avec toi ;o))

Offline


Bonjour,

Je viens d'installer le plugin commentaire. Il fonctionne à merveille.

Question : pensez vous qu'il est possible de rendre les commentaires modérables à priori ?

Merci encore.

Offline


Bonjour à tous,

Je déterre un post, mais j'ai besoin de vos lumières sur le plugin Commentaires.

Je souhaite afficher quelques commentaires produits sur la page d'accueil. J'ai fait la boucle suivante mais elle ne fonctionne pas bien :

<h2>Derniers commentaires</h2>           
<THELIA_comment type="COMMENTAIRES" ref="#PRODUIT_REF">                                                              
  <THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF" courant="1">
    <THELIA_LIEN_PROD type="PRODUIT" ref="#PRODUIT_REF">
    <a href="#REWRITEURL">
    </THELIA_LIEN_PROD>   
    #TITRE</a>       
  </THELIA_PROD>
  <strong>Message de #NOM</strong> : #MESSAGE <br />
  Posté le #FILTRE_datefrancaise(#DATE)<br />
</THELIA_comment>

J'ai l'affichage suivant :

Derniers commentaires
Message de flora : truc muche
Posté le lundi 22 février 2010

Au lieu de :

Derniers commentaires
TITRE DU PRODUIT
Message de flora : truc muche
Posté le lundi 22 février 2010

Le titre du produit ne s'affiche pas. Je ne comprends pas pourquoi.

Je précise que ce plugin fonctionne très bien sur ma page produit big_smile

Par ailleurs, existe t-il un paramètre pour afficher les 10 derniers commentaires par exemple ?

Je vous remercie d'avance pour votre aide.

Shauna.


Shauna

Offline


Bonjour Shauna972,

Moi je dirais qu'il faut mettre la boucle 'commentaire' dans la boucle 'produit' et non pas l'inverse...
Pour les 10 derniers commentaires tu veux les 10 derniers de chaque produits ou les 10 derniers pour l'ensemble?
J'imagine que tu as deja teste quelques filtres avec #MESSAGE

Reg


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


reg wrote:

Bonjour Shauna972,

Moi je dirais qu'il faut mettre la boucle 'commentaire' dans la boucle 'produit' et non pas l'inverse...
Pour les 10 derniers commentaires tu veux les 10 derniers de chaque produits ou les 10 derniers pour l'ensemble?
J'imagine que tu as deja teste quelques filtres avec #MESSAGE

Reg

Bonjour Reg,

Merci pour ta réponse.

En inversant les boucles, je n'ai plus rien qui s'affiche sad
Ci-dessous le code :

<h2>Derniers commentaires</h2> 
<THELIA_PROD type="PRODUIT" ref="#REF" courant="1">          
  <THELIA_LIEN_PROD type="PRODUIT" ref="#REF">
   <a href="#REWRITEURL">
  </THELIA_LIEN_PROD>   
    #TITRE</a>
  <THELIA_comment type="COMMENTAIRES" ref="#PRODUIT_REF">                                                                     
    <strong>Message de #NOM</strong> : #MESSAGE <br />
    Posté le #FILTRE_datefrancaise(#DATE)<br />
  </THELIA_comment>
</THELIA_PROD>

J'ai mal compris l'inversion dont tu me parlais ?

Je veux les 10 derniers commentaires pour l'ensemble des produits, mais avant d'attaquer la sélection des 10 derniers, ce serait bien que la boucle qui affiche commentaire + titre du produit en question fonctionne...

Je n'ai pas testé de filtres avec #MESSAGE, qu'est ce que cela peut m'apporter ?


Shauna

Offline


Bonjour Shauna972,

Pour l'inversion j'etais parti du postulat que comme dans ta page produit

Je précise que ce plugin fonctionne très bien sur ma page produit

ta boucle 'commentaire' est dans une boucle 'produit'
il convenait de faire de meme,
le #TITRE etant le titre du produit, si tu veux le recuperer (avant) il te faut inclure ta boucle 'commentaire' dans la boucle 'produit'.

Reg

PS: J'ai voulu tester ton code pour voir ce qui n'allait pas,
cela m'a renvoye 2 fois une erreur lie a mes tables,
et puis mon Wamp est "mort", depuis j'essaie de le ressusciter lol
Mais ce n'est pas gagne...
Te donnerais une reponse plus complete des que je pourrais a nouveau tester big_smile


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


Bon Wamp merdouille encore 1 peu, mais j'ai pu tester, une boucle du style:

<THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF" num="8" classement="date">
<div><a href="#REWRITEURL">#TITRE</a></div>
<THELIA_comment type="COMMENTAIRES" ref="#REF">
Message de #NOM:<br/> #MESSAGE <br />#DATE<br />
</THELIA_comment>
</THELIA_PROD>

donne le resultat que tu souhaitais,
par contre pour afficher les 10 derniers je n'ai pas encore la reponse
je pensais a filtrer avec si #MESSAGE  superieur a 10 n'afficher que 10 mais suis pas certain du filtre qui pourrait faire ca...
Sinon en php si tu t'y connais?

Reg


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


Merci pour tes deux réponses Reg big_smile

En fait, maintenant les commentaires s'affichent ainsi que le titre du produit avec ta boucle mais les commentaires ne correspondent pas aux produits. En gros, j'ai un produit puis tous les commentaires de tous les produits qui s'affichent :

Produit 1 : Commentaire 1, Commentaire 2
Produit 2 : Commentaire 3, Commentaire 4
...

La boucle affiche :
Produit 1
Commentaire 1
Commentaire 2
Commentaire 3
Commentaire 4

Produit 2
Commentaire 1
Commentaire 2
Commentaire 3
Commentaire 4
...

J'ai changé #REF en #PRODUIT_REF car ça n'affichait que les titres :

<THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF" num="8" classement="date">
<div><a href="#REWRITEURL">#TITRE</a></div>
<THELIA_comment type="COMMENTAIRES" ref="#PRODUIT_REF">
Message de #NOM:<br/> #MESSAGE <br />#DATE<br />
</THELIA_comment>
</THELIA_PROD>

Et j'ai des erreurs :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /XXX/fonctions/boucles.php on line 995

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /XXX/fonctions/boucles.php on line 995

A la ligne 995 de boucles.php (et aux environs) j'ai :

		if($classement != "titre" && $classement != "titreinverse"){
			$query = "select * from $produit->table where 1 $search $order $limit";
			$classement = "produit";
	    }
	
		else {
			$query = "select * from $produit->table, $produitdesc->table where $produit->table.id=$produitdesc->table.produit and $produitdesc->table.lang=\"" . $_SESSION['navig']->lang . "\" $search $order $limit";
			$classement = "produitdesc";
		}
            
		$resul = mysql_query($query, $produit->link);
		$nbres = mysql_num_rows($resul); !!!LIGNE 995!!!
		$saveReq = "select * from $produit->table where 1 $search";

Malheureusement je n'y connais rien en php, s'il faut bidouiller le plugin ça s'annonce chaud pour moi ! Je crois que je vais remettre ça à plus tard...


Shauna

Offline


Bonjour Shauna,

Je viens de retourner tester, mais je confirme qu'avec mon exemple de boucles les bons commentaires sortent sous les bons produits big_smile
Si tu veux montre moi le code que tu essaies pour voir ce qui peut clocher...

Reg


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


reg wrote:

Bonjour Shauna,

Je viens de retourner tester, mais je confirme qu'avec mon exemple de boucles les bons commentaires sortent sous les bons produits big_smile
Si tu veux montre moi le code que tu essaies pour voir ce qui peut clocher...

Reg

Bonjour Reg,

Zut alors ! j'ai mis exactement le même code que toi :

<THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF" num="8" classement="date">
<div><a href="#REWRITEURL">#TITRE</a></div>
<THELIA_comment type="COMMENTAIRES" ref="#REF">
Message de #NOM:<br/> #MESSAGE <br />#DATE<br />
</THELIA_comment>
</THELIA_PROD>

Et là j'ai la liste des produits comme ça :
Produit 1
Produit 2
Produit 3

Aucun commentaire ne s'affiche, ce serait dû à ma version de Thélia ? J'ai la 1.4.2.1 hmm

J'ai hâte de te lire !


Shauna

Offline


Aucun commentaire ne s'affiche, ce serait dû à ma version de Thélia ? J'ai la 1.4.2.1

Non je suis sous la 1.4, mais puisque cela fonctionne dans ta page produit, il n'y a pas de raisons que l'on n'y arrive pas dans index_page

Le comportement que tu decris post #17 correspond au fait de mettre
#PRODUIT_REF au lieu de #REF dans la boucle 'commentaire'

Est ce que tu aurais une autre boucle portant le meme nom dans index_page,
au quel cas il te faudrait renommer <THELIA_PROD en <THELIA_PROD1 par exemple car il ne faut pas avoir 2 boucles portant le meme nom sur une meme page.
Sinon je ne sais plus trop quoi te proposer, si ce n'est peut etre de me montrer l'ensemble de ton code index_page.html...

Reg


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


Bonjour,
je fais la taupe et je déterre;
Après avoir éplucher et essayer tous les posts, je me sers donc de ce plug pour un livre d'or.
il y a cependant deux choses que je n'arrive pas à faire :
-trier les commentaires de la data la plus récente à la plus ancienne

- n'afficher ( j'ai essayer plein de filtres) les plus récents dans mon menu.
Quelqu'un a-t-il réussi à faire ce genre de choses ?
Merci

bon, j'ai réussi à faire un truc qui marche pour les dates, mais comme je n'y connais rien en php je préfère demander l'avis de ceux qui savent :
sur le fichier commentaire.class.php j'ai rajouté à la ligne 83:

order by id DESC

à la suite de

$query_commentaires = "select * from $commentaire->table where 1 $search

est-ce une bétise qui marche par hasard ou pas ?

Last edited by aleyjo (23-06-2010 20:19:02)


MAC OS LION MAMP
Quand on veut vraiment, on peut toujours.

Offline


Je profite de ce sujet pour ajouter ma question :

Avez-vous réussi à trier les commentaires par ordre du plus récent ? (sans cela, ce plugin n'a plus grand intérêt).

Par ailleurs, arrivez-vous à limiter le nombre à afficher ?

Cordialement

Offline


Si c'est un truc genre livre d'or, j ai fait un truc comme ça. L'internaute doit etre enregistré et peut laisser un commentaire généraliste sur le site (on conserve les coordonnées en BO cela evite le n'importe quoi). Gestion des commentaires depuis le bo. on affiche cela ou on veux, meme dans une page à part. Nombre de commentaires......


Thelia 1.5 - Plugins Homepage et Livre d'or
Le portail de Douarnenez http://www.dz-en-vie.com

Offline


Bonjour,

comment serait-il possible pour que les commentaires s'affichent du plus récent au plus ancien ? actuellement c'est l'inverse.

Cordialement

Offline


Je déterre mais ça peut servir, pour afficher les commentaires en page d'acceuil avec un lien vers le produit,
ceci fonctionne parfaitement

THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF"  classement="date">
<div><a href="#REWRITEURL">#TITRE</a></div>
<THELIA_comment type="COMMENTAIRES" ref="#REF">
Message de #NOM:<br/> #MESSAGE <br />#DATE<br />
</THELIA_comment>

<//THELIA_comment>
</THELIA_PROD>

pour trier du plus récent au plus ancien

sur le fichier commentaire.class.php rajouter à la ligne 83:
order by id DESC
à la suite de
$query_commentaires = "select * from $commentaire->table where 1 $search

Last edited by aleyjo (03-06-2014 09:57:42)


MAC OS LION MAMP
Quand on veut vraiment, on peut toujours.