Module Comments : Astuces en vrac

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
Bonjour,

Je viens d'utiliser le module "Comments" et je vous laisse quelques infos que j'ai utilisé pour obtenir ce que je voulais.

Tout d'abord, bon c'est dans la doc mais une petite piqure de rappel ne fait pas de mal Wink, en plus du module "Comments" il faut installer les dépendances suivantes :
CGExtensions => 1.9
CGSimpleSmarty => 1.4


Une fois installé il suffit de mettre la balise {cms_module module="comments"} à l'endroit de votre (vos) page(s) où vous voulez voir apparaitre cette fonctionnalité.


Lors du 1er affichage d'une page contenant cette balise j'avais un message d'erreur
Code :
string(170) "Smarty error: [in module_db_tpl:Comments;default_display line 36]: syntax error: unrecognized tag: $smarty.session.Comments.message) (Smarty_Compiler.class.php, line 446)" string(138) "Smarty error: [in module_db_tpl:Comments;default_display line 36]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 590)
Après quelques recherches (il y a un post qui parle de ce problème sur le forum Fr) j'ai trouvé ce message sur le forum anglais : http://forum.cmsmadesimple.org/index.php...562.0.html

C'est une solution temporaire, mais ça fonctionne. Il faut enlever cette partie de code dans le gabarit de "Comments"
Code :
{if isset($smarty.session.Comments.error)}
  {* display an error message from the comments module *}
  <div style="text-size: 1.5em; color: red;">{$smarty.session.Comments.error}</div>
{elseif isset($smarty.session.Comments.message)}
  {* display an optional message from the comments module *}
  <p style="text-size: 1.5em; color: green;">{$smarty.session.Comments.message)}</p>
{/if}
Le format date préconisé dans l'aide de ce module pour avoir un affichage en Fr ne fonctionnait pas chez moi. J'ai contourné en modifiant la balise de la manière suivante : {cms_module module="comments" dateformat="d/m/Y à H:i"}

Je trouvais que l'affichage des commentaires n'était pas très joli. Un peu trop "ramassé", ça manquait d'aération. De plus je voulais qu'ils soient mis en évidence par rapport au reste du texte, donc avec un fond de couleur différent de celui de la page.
Toutes ces modifs se passent dans le gabarit de "Comments". Je vous laisse le mien, à vous d'adapter.
Le principe pour la couleur de fond est d'inclure l'affichage des commentaires dans une table et affecter une couleur de fond à la table.
Dans le gabarit ci-dessous j'ai également enlevé des champs du formulaire qui ne m'intéressaient pas.
Quelques <br /> à droite et à gauche, et au final on obtient quelque chose de plus sympa (enfin, pour moi).

Code :
<div id="comments">

<!-- Start Comments Display Template -->

{if $items}
<table width="100%" border="0" bgcolor="#f6f6f6"><tr><td>
<strong>Commentaires :</strong><br />
<ul>
{/if}
<br />
{foreach from=$items item=entry}
    <li class="{$entry->cssclass}">{if $entry->comment_title}<strong>{$entry->comment_title}</strong><br />{/if}
    {if $entry->comment_author}
            {* note, one could use the $entry->author_email field here, and the smarty mailto tag to generate a mailto link to this author, but it is not done by default. *}
            <strong>{$entry->comment_author}</strong> a écrit le
        {/if}
    {if $entry->author_website}
            <a href="{$entry->author_website}" target="_blank">{$entry->author_website}</a> -
    {/if}
    {$entry->date}<br />
    {$entry->comment_data}
    </li><br />
{/foreach}
{if $items}
</ul>
<br />
</tr></td></table><br />
{/if}

{if FALSE == $errormessage}
{startExpandCollapse id="name" title="$addacomment"}
{else}
{$errormessage}
{/if}
<!--
<h3>{$addacomment}</h3> -->
<br /><br />

{$startform}

{$image}

{if $spamprotect}
{$spamprotectimage}<br />
{/if}


<table>
{if $spamprotect}
    <tr>
        <td>{$entercodetxt}:</td>
        <td>{$inputentercode}</td>
    </tr>
{/if}
    
    <tr>
        <td>{$yournametxt}(*):</td>
        <td>{$inputyourname}</td>
    </tr>
    
    
    <tr>
        <td>{$commenttxt}(*):</td>
        <td>{$inputcomment}</td>
    </tr>
    <tr>
        <td> </td>
        <td>{$submit} {$cancel}</td>
    </tr>
</table>


{$endform}
(version de CMSMS 1.5.4 hébergement 1&1)
==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17
Répondre
#1
Bonjour,

Je viens d'utiliser le module "Comments" et je vous laisse quelques infos que j'ai utilisé pour obtenir ce que je voulais.

Tout d'abord, bon c'est dans la doc mais une petite piqure de rappel ne fait pas de mal Wink, en plus du module "Comments" il faut installer les dépendances suivantes :
CGExtensions => 1.9
CGSimpleSmarty => 1.4


Une fois installé il suffit de mettre la balise {cms_module module="comments"} à l'endroit de votre (vos) page(s) où vous voulez voir apparaitre cette fonctionnalité.


Lors du 1er affichage d'une page contenant cette balise j'avais un message d'erreur
Code :
string(170) "Smarty error: [in module_db_tpl:Comments;default_display line 36]: syntax error: unrecognized tag: $smarty.session.Comments.message) (Smarty_Compiler.class.php, line 446)" string(138) "Smarty error: [in module_db_tpl:Comments;default_display line 36]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 590)
Après quelques recherches (il y a un post qui parle de ce problème sur le forum Fr) j'ai trouvé ce message sur le forum anglais : http://forum.cmsmadesimple.org/index.php...562.0.html

C'est une solution temporaire, mais ça fonctionne. Il faut enlever cette partie de code dans le gabarit de "Comments"
Code :
{if isset($smarty.session.Comments.error)}
  {* display an error message from the comments module *}
  <div style="text-size: 1.5em; color: red;">{$smarty.session.Comments.error}</div>
{elseif isset($smarty.session.Comments.message)}
  {* display an optional message from the comments module *}
  <p style="text-size: 1.5em; color: green;">{$smarty.session.Comments.message)}</p>
{/if}
Le format date préconisé dans l'aide de ce module pour avoir un affichage en Fr ne fonctionnait pas chez moi. J'ai contourné en modifiant la balise de la manière suivante : {cms_module module="comments" dateformat="d/m/Y à H:i"}

Je trouvais que l'affichage des commentaires n'était pas très joli. Un peu trop "ramassé", ça manquait d'aération. De plus je voulais qu'ils soient mis en évidence par rapport au reste du texte, donc avec un fond de couleur différent de celui de la page.
Toutes ces modifs se passent dans le gabarit de "Comments". Je vous laisse le mien, à vous d'adapter.
Le principe pour la couleur de fond est d'inclure l'affichage des commentaires dans une table et affecter une couleur de fond à la table.
Dans le gabarit ci-dessous j'ai également enlevé des champs du formulaire qui ne m'intéressaient pas.
Quelques <br /> à droite et à gauche, et au final on obtient quelque chose de plus sympa (enfin, pour moi).

Code :
<div id="comments">

<!-- Start Comments Display Template -->

{if $items}
<table width="100%" border="0" bgcolor="#f6f6f6"><tr><td>
<strong>Commentaires :</strong><br />
<ul>
{/if}
<br />
{foreach from=$items item=entry}
    <li class="{$entry->cssclass}">{if $entry->comment_title}<strong>{$entry->comment_title}</strong><br />{/if}
    {if $entry->comment_author}
            {* note, one could use the $entry->author_email field here, and the smarty mailto tag to generate a mailto link to this author, but it is not done by default. *}
            <strong>{$entry->comment_author}</strong> a écrit le
        {/if}
    {if $entry->author_website}
            <a href="{$entry->author_website}" target="_blank">{$entry->author_website}</a> -
    {/if}
    {$entry->date}<br />
    {$entry->comment_data}
    </li><br />
{/foreach}
{if $items}
</ul>
<br />
</tr></td></table><br />
{/if}

{if FALSE == $errormessage}
{startExpandCollapse id="name" title="$addacomment"}
{else}
{$errormessage}
{/if}
<!--
<h3>{$addacomment}</h3> -->
<br /><br />

{$startform}

{$image}

{if $spamprotect}
{$spamprotectimage}<br />
{/if}


<table>
{if $spamprotect}
    <tr>
        <td>{$entercodetxt}:</td>
        <td>{$inputentercode}</td>
    </tr>
{/if}
    
    <tr>
        <td>{$yournametxt}(*):</td>
        <td>{$inputyourname}</td>
    </tr>
    
    
    <tr>
        <td>{$commenttxt}(*):</td>
        <td>{$inputcomment}</td>
    </tr>
    <tr>
        <td> </td>
        <td>{$submit} {$cancel}</td>
    </tr>
</table>


{$endform}
(version de CMSMS 1.5.4 hébergement 1&1)
==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17
Répondre
#2
peut tu laisser un lien pour voir le résultat s'il te plais Wink
Répondre
#2
peut tu laisser un lien pour voir le résultat s'il te plais Wink
Répondre
#3
Pas un lien vers le site directement, pour certaines raisons Wink
Mais je viens de faire quelques captures d'écran, avec les différents états :
http://monserveur.info/ftp/commentaires.pdf
==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17
Répondre
#3
Pas un lien vers le site directement, pour certaines raisons Wink
Mais je viens de faire quelques captures d'écran, avec les différents états :
http://monserveur.info/ftp/commentaires.pdf
==> Merci de marquer [Résolu] dans le titre de votre message lorsque une solution a été trouvée <==

Mint 17
Répondre
#4
Enlever la parenthèse qui est de trop après message dans le gabarit :
Code :
<p style="text-size: 1.5em; color: green;">{$smarty.session.Comments.message)}</p>
Code :
<p style="text-size: 1.5em; color: green;">{$smarty.session.Comments.message}</p>
Répondre
#4
Enlever la parenthèse qui est de trop après message dans le gabarit :
Code :
<p style="text-size: 1.5em; color: green;">{$smarty.session.Comments.message)}</p>
Code :
<p style="text-size: 1.5em; color: green;">{$smarty.session.Comments.message}</p>
Répondre
#5
** Question :
Avec Comments comment limiter les commentaire sur un article precis dans une seule categorie
Par defaut le module Comments affiche tout les commentaire partout ou la balise est placé

en partant sur la base
{cms_module module='comments' modulename='News' pageid=$entry->id}

je l ai betement modifier en
{cms_module module='comments' modulename='News' modulecategory='nom exact de la categorie' pageid='$entry->id de ma page'} Smile

Mais apres un succes momentanee tout reviens dans toute les articles
si quelqun à une solution à ce probleme je suis preneur ...
Répondre
#5
** Question :
Avec Comments comment limiter les commentaire sur un article precis dans une seule categorie
Par defaut le module Comments affiche tout les commentaire partout ou la balise est placé

en partant sur la base
{cms_module module='comments' modulename='News' pageid=$entry->id}

je l ai betement modifier en
{cms_module module='comments' modulename='News' modulecategory='nom exact de la categorie' pageid='$entry->id de ma page'} Smile

Mais apres un succes momentanee tout reviens dans toute les articles
si quelqun à une solution à ce probleme je suis preneur ...
Répondre
#6
topic nettoyé
Répondre
#6
topic nettoyé
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)