Pouvoir répondre à un commentaire

Bonjour,

Bon, je sais mon titre n'est pas explicite mais j'aimerais savoir s'il serait possible d'avoir en natif (prochaine version de pluxml ?) la possibilité de pouvoir répondre à un commentaire d'un article et que cette réponse s'affiche sous le commentaire en question, un peu à la manière des liens reply de wordpress ?

Et de déterminer également le niveau d'arborescence des réponses afin d'avoir quelque chose d'équivalent à :
commentaire 1
        * commentaire 3 réponse commentaire 1
                 ** commentaire 4 réponse commentaire 3
                 ** commentaire 7 réponse commentaire 4
        * commentaire 10 réponse commentaire 1
commentaire 2
commentaire 5
        * commentaire 9 réponse commentaire 5
commentaire 6
commentaire 8
etc.

Cdt

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    La structure des données pour gérer les commentaires ne permet pas de les hiérarchiser (ce qui demande aussi une recursivité pour gérer les dépendances à plusieurs niveaux)
    Cela restera sur un seul niveau. Donc pas d'évolutions sur ce sujet.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Dommage...
  • Jerry WhamJerry Wham Member
    mai 2012 modifié
    Je viens essayer d'apporter une solution à ce problème sans trop modifier la structure des articles (une seule balise supplémentaire).
    Elle permet 4 niveaux d'imbrication, le niveau d'imbrication étant paramétrable (de 1 à 4).


    Ceci implique la modification de plusieurs méthodes. Je l'ai fait grâce aux différents hook disponibles. J'ai également emprunté une fonction javascript de wordpress. Voici ce que j'ai écrit et j'aurais aimé si possible l'avis de l'équipe de dév.
    <?php
    /**
    	 * Méthode qui crée un nouveau commentaire pour l'article $artId
    	 *
    	 * @param	artId	identifiant de l'article en question
    	 * @param	content	tableau contenant les valeurs du nouveau commentaire
    	 * @return	string
    	 * @author	Florent MONTHEL, Stéphane F
    	 * @modification Cyril MAGUIRE ajout de l'index "parent"
    	 **/
    	public function plxMotorNewCommentaire() {
    		$string = "
    		# On verifie que le capcha est correct
    		if(\$this->aConf['capcha'] == 0 OR \$content['rep2'] == sha1(\$content['rep'])) {
    			if(!empty(\$content['name']) AND !empty(\$content['content'])) { # Les champs obligatoires sont remplis
    				\$comment=array();
    				\$comment['type'] = 'normal';
    				\$comment['author'] = plxUtils::strCheck(trim(\$content['name']));
    				\$comment['content'] = plxUtils::strCheck(trim(\$content['content']));
    				if (isset(\$_POST['comment_parent'])) {
    				\$comment['parent'] = plxUtils::strCheck(trim(\$_POST['comment_parent']));
    				}
    				# On verifie le mail
    				\$comment['mail'] = (plxUtils::checkMail(trim(\$content['mail'])))?trim(\$content['mail']):'';
    				# On verifie le site
    				\$comment['site'] = (plxUtils::checkSite(\$content['site'])?\$content['site']:'');
    				# On recupere l'adresse IP du posteur
    				\$comment['ip'] = plxUtils::getIp();
    				# On genere le nom du fichier selon l'existence ou non d'un fichier du meme nom
    				\$time = time();
    				\$i = 0;
    				do { # On boucle en testant l'existence du fichier (cas de plusieurs commentaires/sec pour un article)
    					\$i++;
    					if(\$this->aConf['mod_com']) # On modere le commentaire => underscore
    						\$comment['filename'] = '_'.\$artId.'.'.\$time.'-'.\$i.'.xml';
    					else # On publie le commentaire directement
    						\$comment['filename'] =\$artId.'.'.\$time.'-'.\$i.'.xml';
    				} while(file_exists(\$comment['filename']));
    				# On peut creer le commentaire
    				if(\$this->addCommentaire(\$comment)) { # Commentaire OK
    					if(\$this->aConf['mod_com']) # En cours de moderation
    						return 'mod';
    					else # Commentaire publie directement, on retourne son identifiant
    						return 'c'.\$time.'-'.\$i;
    				} else { # Erreur lors de la création du commentaire
    					return L_NEWCOMMENT_ERR;
    				}
    			} else { # Erreur de remplissage des champs obligatoires
    				return L_NEWCOMMENT_FIELDS_REQUIRED;
    			}
    		} else { # Erreur de verification capcha
    			return L_NEWCOMMENT_ERR_ANTISPAM;
    		}
    		return true;
    		";
    		echo "<?php ".$tring."?>";
    	}
    ?>
    
    <?php
    
    	/**
    	 * Méthode qui crée physiquement le fichier XML du commentaire
    	 *
    	 * @param	comment	array avec les données du commentaire à ajouter
    	 * @return	booléen
    	 * @author	Anthony GUÉRIN, Florent MONTHEL et Stéphane F
    	 * @modification Cyril MAGUIRE ajout de l'item "parent"
    	 **/
    	public function plxMotorAddCommentaireXml() {
    		$string = <<<END
    		if (isset(\$_POST['comment_parent'])) {
    		\$xml .= "\t<parent><![CDATA[".plxUtils::cdataCheck(\$_POST['comment_parent'])."]]></parent>\n";
    		}
    END;
    		echo "<?php ".$string."?>";
    
    	}
    ?>
    
    <?php
    	/**
    	 * Méthode qui parse le commentaire du fichier $filename
    	 *
    	 * @param	filename	fichier du commentaire à parser
    	 * @return	array
    	 * @author	Florent MONTHEL
    	 * @modification Cyril MAGUIRE ajout de l'item "parent"
    	 **/
    	public function plxMotorParseCommentaire() {
    		$string = <<<END
    		\$com['parent'] = trim(\$values[ \$iTags['parent'][0] ]['value']);
    END;
    		echo "<?php ".$string."?>";
    	}
    
    ?>
    
    <?php
    	/**
    	 * Méthode qui crée l'arborescence et les liens de parenté entre les commentaires d'un article (qui répond à qui)
    	 * 
    	 * @param $results array tableau de tous les commentaires de l'article
    	 * @param $depth integer profondeur de l'arborescence (de 1 à 4)
    	 * @return array
    	 * @author Cyril MAGUIRE
    	 */
    	public function commentsTree($params=array()) {
    			$family = $isChild = array();
    			//Niveau de profondeur de l'arborescence
    			if (!isset($params[1]) || $params[1]<=0 || $params[1]>4)
    				$profondeur = 4;
    			else
    				$profondeur = $params[1];
    
    			for ($i=0;$i<$profondeur;$i++){
    				foreach($params[0] as $idCom => $v) {
    					if ($i != 0 && !empty($v['parent']) && in_array($v['parent'],$family[$i-1])) {
    						$family[$i][] = $idCom+1;
    						if (!in_array($idCom+1, $isChild)) {
    							$isChild[$v['parent']][] = $idCom+1;
    						}
    					}elseif (empty($v['parent']) && !in_array($idCom+1, $family[0])) {
    						$family[0][] = $idCom+1;
    					}
    				}
    			} 
    			$plxShow = plxShow::getInstance();
    			ob_start();
    			$plxShow->artAuthorEmail();
    			$artAuthorEmail = ob_get_clean();
    			ob_start();
    			$plxShow->ArtUrl();
    			$ArtUrl = ob_get_clean();
    			return array(
    				'family'	=> $family,		//Défini dans quel niveau se situe un commentaire
    				'isChild'	=> $isChild, 	//Défini si un commentaire a un statut d'enfant,
    				'artAuthorEmail' => $artAuthorEmail,
    				'ArtUrl'	=> $ArtUrl
    				);
    	}
    ?>
    
    <?php
    	/**
    	 * Méthode permettant de mettre en forme les commentaires enfants.
    	 * A modifier selon votre theme
    	 *
    	 * @param $enfant integer index du commentaire à afficher
    	 * @param $results array tableau de l'ensemble des commentaires
    	 * @param $emailAuthor string email de l'auteur de l'article commenté
    	 * @param $ArtUrl string url de l'article commenté
    	 * @param $artId integer index de l'article commenté
    	 * @param $oddAlt string parité du commentaire (pair ou impair)
    	 * @param $reply bool indique s'il y a possibilité de répondre au commentaire affiché
    	 * @param $li bool indique s'il faut fermer les balises de liste
    	 *
    	 * @return string le commentaire formaté
    	 *
    	 * @author Cyril MAGUIRE
    	 */
    	public function formatComments($enfant, $results, $emailAuthor, $ArtUrl, $artId, $oddAlt, $reply, $li){
    		?>
    
    			<ul class="children">
    				   <li class="comment  <?php echo $oddAlt == 'alt' ? 'odd' : $oddAlt;?>" id="li-comment-<?php echo $enfant;?>">
    				      <div id="c<?php echo $results['numero']; ?>" class="entry  <?php echo $oddAlt;?>">
    				      <div class="comment-head">
    				      		<div class="avatar">
    							<?php if($results['type']=='admin') : # si commentaire de type admin ?>
    						
    							<img src="http://www.gravatar.com/avatar/<?php echo md5(strtolower($emailAuthor)) ?>?s=32&d=mm" alt="Gravatar" class="photo avatar avatar-32 photo avatar-default" height="32px" width="32px" />
    							<?php else: # si commentaire d'un visiteur ?>
    						
    							<img src="http://www.gravatar.com/avatar/<?php echo md5( strtolower($results['mail']) ) ?>?s=32&d=mm" alt="Gravatar" class="photo avatar avatar-32 photo avatar-default" height="32px" width="32px" />
    							<?php endif; ?>
    
    							</div>
    							<div class="user-meta">
    				            	<span class="name"><?php echo (!empty($results['site']) ? '<a href="'.$results['site'].'" title="'.$results['site'].'">'.$results['author'].'</a>' : $results['author']);?></span>
    				            	<span class="date"><?php echo plxDate::formatDate($results['date'],'#day #num_day #month #num_year(4) &#64; #hour:#minute'); ?></span>
    				            	<span class="edit"></span>
    				            	<span class="perma"><a class="comment-permalink" href="<?php $ArtUrl; ?>#<?php echo 'c'.$results['numero'] ?>" title="#<?php echo $enfant ?>">Permalink</a></span>
    				            </div>
    				          	<div class="clear"></div>
    				    	</div> 
    
    				    	<div class="comment-entry" id="comment-<?php echo $enfant;?>">
    			        		<p><?php echo $results['content'];?></p>
    			        		<div class="reply">
    			        		 <?php if ($reply):?>
    
              						<a class="comment-reply-link" href="<?php $ArtUrl; ?>#<?php echo 'c'.$results['numero'];?>" title="#<?php echo $enfant ?>" onclick="return addComment.moveForm('comment-<?php echo $enfant;?>', '<?php echo $enfant;?>', 'form', '<?php echo $artId;?>')"><?php $this->lang('REPLY')?></a>
              					<?php endif; ?>
    
              					</div>
    						</div>
    						</div>
    						<?php if ($li) : ?>
    
    					</li>
    				</ul>
    						<?php endif; 
    	}
    ?>
    
    <?php
    	/**
    	 * Méthode permettant l'affichage des commentaires
    	 * 
    	 * @param $params array tableau contenant les différents paramètres nécessaires
    	 *			$results array Tableau contenant l'ensemble des commentaires
    	 *			$family array Tableau contenant les niveaux des commentaires
    	 *			$isChild array Tableau déterminant si un commentaire est l'enfant d'un autre
    	 *			$plxCom string Index du commentaire
    	 *			$depth string Niveau de profondeur de l'arborescence (de 1 à 4)
    	 * 			$artAuthorEmail string Email de l'auteur principal de l'article					
    	 * 			$ArtUrl string Url de l'article					
    	 * 			$artId integer Index de l'article					
    	 * 			$display array Tableau permettant de savoir si un commentaire a déjà été affiché
    	 * @return $display array Tableau permettant de savoir si un commentaire a déjà été affiché
    	 * @author Cyril MAGUIRE
    	 */
    	public function displayChildren($params){
    			$results = $params[0];
    			$family = $params[1];
    			$isChild = $params[2];
    			$plxCom = $params[3];
    			$depth = $params[4];
    			$artAuthorEmail = $params[5];
    			$ArtUrl = $params[6];
    			$artId = $params[7];
    			$display = (array)$params[8];
    
    			//Commentaires de premier niveau
    			for ($i=1;$i<$depth;$i++):
    			foreach ($isChild as $cle => $Parent) :
    				if ($cle == $plxCom) :
    			foreach ($Parent as $k => $enfant) :
    				if (in_array($results[$enfant-1]['parent'], $family[$i-1]) && !in_array($results[$enfant-1]['id'], $family[3]) && !in_array($enfant, $display)) :
    					$display[] = $enfant;
    					$oddAlt = ( empty( $oddAlt ) ) ? ' alt ' : '';
    					$this->formatComments(
    							$enfant,//L'index du commentaire enfant
    							$results[$enfant-1],//Le tableau des données du commentaire enfant
    							$artAuthorEmail,//L'email de l'auteur de l'article
    							$ArtUrl,//L'url de l'article
    							$artId,//L'index de l'article
    							$oddAlt,//Parité
    							($depth > 2) ? true : false,//Les réponses à ce niveau de l'arborescence sont-elles possibles ?
    							($depth > 1) ? false : true);//Faut-il fermer les balises de liste ?
    			//Commentaires de deuxième niveau
    			if (array_key_exists($enfant, $isChild)) :
    					foreach ($isChild[$enfant] as $ke => $ve) :
    						if (!in_array($ve, $display)) :
    						$display[] = $ve;
    						$oddAlt = ( empty( $oddAlt ) ) ? ' alt ' : '';
    						$this->formatComments(
    							$ve,//L'index du commentaire enfant
    							$results[$ve-1],//Le tableau des données du commentaire enfant
    							$artAuthorEmail,//L'email de l'auteur de l'article
    							$ArtUrl,//L'url de l'article
    							$artId,//L'index de l'article
    							$oddAlt,//Parité
    							($depth > 3) ? true : false,//Les réponses à ce niveau de l'arborescence sont-elles possibles ?
    							($depth > 2) ? false : true);//Faut-il fermer les balises de liste ?
    				//Commentaires de troisième niveau (niveau max)
    				if (array_key_exists($ve, $isChild)) :
    					foreach ($isChild[$ve] as $index => $val) :
    						if (!in_array($val, $display)) :
    						$display[] = $val;
    						$oddAlt = ( empty( $oddAlt ) ) ? ' alt ' : '';
    						$this->formatComments(
    							$val,//L'index du commentaire enfant
    							$results[$val-1],//Le tableau des données du commentaire enfant
    							$artAuthorEmail,//L'email de l'auteur de l'article
    							$ArtUrl,//L'url de l'article
    							$artId,//L'index de l'article
    							$oddAlt,//Parité
    							false,//Les réponses à ce niveau de l'arborescence sont-elles possibles ?
    							true);//Faut-il fermer les balises de liste ?
    						endif;
    					endforeach;
    				endif;?>
    
    					</li>
    				</ul>
    			<?php 
    						endif;
    					endforeach;
    				endif;?>
    
    					</li>
    				</ul>
    			<?php 
    				endif;
    			endforeach;
    				endif;
    			endforeach;
    			endfor;
    			return $display;
    	}
    ?>
    
    <?php
    	/**
    	 * Méthode qui affiche un peu de css pour masquer un lien dans le formulaire de réponse
    	 */
    	public function ThemeEndHead()
    	{
    		echo '
    		<style type="text/css" media="screen">
    			#cancel-comment-reply-link{display: none;}
    		</style>
    ';
    	}
    ?>
    
    <?php
    	/**
    	 * Méthode qui affiche un fichier js nécesaire pour préciser quel est le commentaire parent du commentaire en cours de rédaction
    	 */
    	public function ThemeEndBody()
    	{
    		$plxShow = plxShow::getInstance();
    		if ($plxShow->mode() == 'article') :
    		echo '<script type="text/javascript" src="'.PLX_PLUGINS.'about/js/addComment.js"></script>'; 
    		endif;
    	}
    ?>
    
    Fichier javascript addComment.js à placer en bas de page, ne nécessitant pas jquery pour fonctionner :
    addComment={moveForm:function(d,f,i,c){var m=this,a,h=m.I(d),b=m.I(i),l=m.I("cancel-comment-reply-link"),j=m.I("comment_parent"),k=m.I("comment_post_ID");if(!h||!b||!l||!j){return}m.respondId=i;c=c||false;if(!m.I("plx-temp-form-div")){a=document.createElement("div");a.id="plx-temp-form-div";a.style.display="none";b.parentNode.insertBefore(a,b)}h.parentNode.insertBefore(b,h.nextSibling);if(k&&c){k.value=c}j.value=f;l.style.display="block";l.onclick=function(){var n=addComment,e=n.I("plx-temp-form-div"),o=n.I(n.respondId);if(!e||!o){return}n.I("comment_parent").value="0";e.parentNode.insertBefore(o,e);e.parentNode.removeChild(e);this.style.display="none";this.onclick=null;return false};try{m.I("comment").focus()}catch(g){}return false},I:function(a){return document.getElementById(a)}};
    

    Les liens de réponse doivent contenir un peu de javascript :
    <a class="comment-reply-link" href="<?php $plxShow->comUrl() ?>" title="#<?php echo $plxCom ?>" onclick="return addComment.moveForm('comment-<?php echo $plxCom;?>', '<?php echo $plxCom;?>', 'form', '<?php echo $plxShow->artId();?>')"><?php echo $plxShow->lang('REPLY')?></a>
    

    La structure de la page commentaires.php doit être la suivante :
    <?php if(!defined('PLX_ROOT')) exit; ?>
    
    <?php if($plxShow->plxMotor->plxRecord_coms):?>
    
    <div id="comments">
    <h2><?php echo $plxShow->artNbCom() ?></h2>
    <ol class="commentlist">
    
    	<?php
    		//Profondeur de l'arborescence des commentaires (de 1 à 4)
    		$depth=4;
    		//Tableau de tous les commentaires de l'article
    		$results = $plxShow->plxMotor->plxRecord_coms->result;
    		//Création de l'arborescence des commentaires
    		$r = $plxShow->callHook('commentsTree',array($results,$depth));
    
    	while($plxShow->plxMotor->plxRecord_coms->loop()): # On boucle sur les commentaires 
    	
    	//Index du commentaire
    	$plxCom = $plxShow->plxMotor->plxRecord_coms->i+1;
    	//Commentaires initiaux (réponses à l'article)
    	if (in_array($plxCom,$r['family'][0])) :
    	?>
    
    	<li class="comment <?php  $parite = (($i%2) == 0 ? 'even' : 'odd');echo $parite;$i++;?> thread-<?php echo $parite;?> depth-1" id="li-comment-<?php echo $plxCom;?>">
    		<div class="comment-head">
         		<div class="user-meta">
                	<span class="name"><?php $plxShow->comAuthor('link'); ?></span>
            		<span class="date"><?php $plxShow->comDate('#day #num_day #month #num_year(4) @ #hour:#minute'); ?></span>
            		<span class="edit"></span>
            		<span class="perma"><a class="num-com" href="<?php $plxShow->comUrl() ?>" title="#<?php echo $plxCom ?>">PERMALINK</a></span>
    			</div>
    			<div class="clear"></div>
    		</div>
    		<div id="<?php $plxShow->comId(); ?>">
    		<div class="comment-entry"  id="comment-<?php echo $plxCom;?>">
               <p class="content_com type-<?php $plxShow->comType(); ?>"><?php $plxShow->comContent() ?></p>
               <div class="reply">
               		<?php if ($depth > 1): ?>
    
          			<a class="comment-reply-link" href="<?php $plxShow->comUrl() ?>" title="#<?php echo $plxCom ?>" onclick="return addComment.moveForm('comment-<?php echo $plxCom;?>', '<?php echo $plxCom;?>', 'form', '<?php echo $plxShow->artId();?>')"><?php echo $plxShow->lang('REPLY')?></a>
          			<?php endif; ?>
    
    			</div>
    		</div>
    		</div>
    		
    		<?php endif;
    
    		//Affichage des commentaires enfants
    		$display = $plxShow->callHook('displayChildren',array($results, $r['family'], $r['isChild'], $plxCom, $depth, $r['artAuthorEmail'], $r['ArtUrl'], $artId, $display));
    
    		if (in_array($plxCom,$r['family'][0])) :?>
    
    	</li>
    	<?php endif;
    	endwhile; # Fin de la boucle sur les commentaires ?>
    
    </ol>
    </div><!-- end #comments_wrap -->
    <?php endif; ?>
    

    Les formulaires de réponse doivent également être modifiés :
    <div class="cancel-comment-reply">
    	<small><a rel="nofollow" id="cancel-comment-reply-link" href="<?php (intval($plxShow->plxMotor->plxRecord_arts->f('nb_com')) != 0)? $plxShow->comUrl() : ''; ?>"><?php $plxShow->lang('CANCEL_REPLY') ?></a></small>
    </div>
    
    <form action="<?php $plxShow->artUrl(); ?>" method="post" id="commentform">
    	<p><input type="text" name="name" id="author"  value="<?php $plxShow->comGet('name',''); ?>" size="22" tabindex="1" />
    	<label for="author"><small><?php $plxShow->lang('NAME') ?></small></label></p>
    
    	<p><input type="text" name="mail" id="email" value="<?php $plxShow->comGet('mail',''); ?>" size="22" tabindex="2" />
    	<label for="email"><small><?php $plxShow->lang('EMAIL') ?></small></label></p>
    
    	<p><input type="text" name="site" id="url" value="<?php $plxShow->comGet('site',''); ?>" size="22" tabindex="3" />
    	<label for="url"><small><?php $plxShow->lang('WEBSITE') ?></small></label></p>
    
    	<p><textarea name="content" id="comment" style="width:97%;" rows="10" tabindex="4"><?php $plxShow->comGet('content',''); ?></textarea></p>
    
    	<?php if($plxShow->plxMotor->aConf['capcha']): ?>
    	<label for="id_rep"><strong><?php echo $plxShow->lang('ANTISPAM_WARNING') ?></strong> :</label>
    	<p><?php $plxShow->capchaQ(); ?> : <input id="id_rep" name="rep" type="text" size="10" /></p>
    	<input name="rep2" type="hidden" value="<?php $plxShow->capchaR(); ?>" />
    	<?php endif; ?>
    
    	<p><input name="submit" type="submit" id="submit" tabindex="5" value="<?php $plxShow->lang('SEND') ?>" />
    	<input type="hidden" name="comment_post_ID" value="<?php echo $plxShow->artId();?>" />
    	</p>
    	<input type="hidden" name="comment_post_ID" value="<?php echo $plxShow->artId();?>" id="comment_post_ID" />
    	<input type="hidden" name="comment_parent" id="comment_parent" value="0" />
    </form>
    

    J'ai fais un plugin avec toutes ces modifications, avec un exemple dans l'aide pour la page commentaires.php.

    Stéphane, si tu passes par là, merci de ton retour.

    Cordialement.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Jerry

    ça fait beaucoup à lire là :) Je regarde ça en détail dès que j'ai un peu de temps.
    Déjà chapeau pour le boulot que ça représente.
    Que se passe-t-il si on dépasse les 4 imbrications ?

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Jerry WhamJerry Wham Member
    mai 2012 modifié
    Stéphane a écrit:
    Bonjour Jerry

    ça fait beaucoup à lire là :) Je regarde ça en détail dès que j'ai un peu de temps.
    Déjà chapeau pour le boulot que ça représente.
    Que se passe-t-il si on dépasse les 4 imbrications ?

    Merci Stéphane.

    La dernière imbrication n'a normalement pas de lien de réponse. On ne peut donc pas les dépasser. Si on se trompe en mettant plus de 4 ou moins de 1 dans l'appel du hook, l'imbrication est remise à 4 par défaut dans la méthode commentsTree.

    J'ai oublié de dire que j'ai adapté 3 thèmes pour wordpress qui utilisent ce plugin et ça à l'air de fonctionner correctement. Je les utilise sur mon site.
  • futzuch a écrit:
    Cela restera sur un seul niveau. Donc pas d'évolutions sur ce sujet.http://www.jpopo.info/g.gif
    Non, si tu as correctement paramétré le bouzin. Tu n'auras qu'un niveau si tu mets "1" dans l'appel du hook, tu en auras deux si tu mets "2", trois si tu mets "3" et "4" si tu mets "0","-1", "", "10" ou "ce que tu veux comme chiffre différent de 1, 2 , 3 ou 4".
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bon je n'ai toujours pas eu le temps de tester, mais j'ai une petite suggestion: pourquoi ne pas définir le paramètre du niveau d'imbricration à partir de l'écran de config du plugin. ça éviterai de jouer avec le code dans le theme et ça serait peut etre plus accessible pour les personnes qui ne sont pas familières avec le fonctionnement des themes.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Stéphane a écrit:
    Bon je n'ai toujours pas eu le temps de tester, mais j'ai une petite suggestion: pourquoi ne pas définir le paramètre du niveau d'imbricration à partir de l'écran de config du plugin. ça éviterai de jouer avec le code dans le theme et ça serait peut etre plus accessible pour les personnes qui ne sont pas familières avec le fonctionnement des themes.
    Oui, en effet, je n'y avais pas pensé.
  • Super comme méthode!
    je test cette imbrication avec l'un de tes thèmes et ça marche du tonnerre!
    super pratique et c'est dommage que cela ne soit pas en natif..
    merci Jerry!
  • bdube30bdube30 Member
    Salut, est-ce que le plugin est toujours disponible je suis très intéressé !
  • @bdube30 : tu peux le télécharger sur mon site. Il faudra que tu modifies la méthode formatComment (fichier about.php) pour adapter l'affichage des commentaires à ton thème.
  • bdube30bdube30 Member
    Merci :)
Connectez-vous ou Inscrivez-vous pour répondre.