Mise à jour des commentaires sur un vieux thème.

Rédigé par GC-nomade Aucun commentaire
aperçu du thème pris en exemple

Cette article est aussi une suite à la serie Mettre à jour un vieux thème.

Dans les thèmes les plus anciens, l'affichage des commentaires était inclus dans le template article.php .C'est ce que nous avons dans le thème perruche utilisè en exemple pour la série Mettre à jour un vieux thème. Il est peu probable que cela soit le cas pour votre thème. Un template dédié au commentaire est déjà présent dés les premières versions 5 de PluXml.

Inutile de faire une mise à jour, diriez-vous!

Si votre thème est construit sur un thème basé sur une version de PluXml 5.5 ou supérieur. Ces fonctions sont probablement déjà intégrées et la MAJ inutile.

À l'écriture de cette article, une version 5.8.10 est en pleine évolution avec des mise à jours quasiment journalières.

Pour ceux qui souhaiterons faire une mise à jours de PluXml vers la prochaine version stable, qui sera certainement une évolution majeure, des mises à jours dans les thèmes seront envisageables.Par exemple, Un template user.php permettra d'afficher une page pour chaque Rédacteur de vos articles, entre autres nouveautés. Pour créer ce template lorsqu'il vous manquera, la méthode est la même que celle appliquée pour tag.php et archives.php

Ce n'est pas le sujet de l'article, retournons aux commentaires et ce formulaire et démystifions cette opération de mise à jour.

Depuis la version 5.5 de PluXml, l'affichage et la gestion des commentaires est doté d'une nouvelle fonction. Il est possible de répondre au commentaire d'un autre visiteur, permettant ainsi une interaction entre vos visiteurs. Si votre thème a été construit autour d'une version antérieur à la 5.5, ces fonctionnalités sont manquantes sans créer de dysfonctionnements.

Maj pour notre vieux thème d'exemple.

En étapes principales

  1. Allez sur votre PluXml de test et ouvrez une page article avec des commentaires (ajouter des commentaires au besoin) avec votre thème, en modification, actif.
  2. Ouvrez le fichier template commentaires.php avec votre éditeur depuis le thème par défaut de votre PluXml.
  3. Puis, avec la fonction "Enregistrer sous..." de votre éditeur, faites en une copie en l'enregistrant dans le répertoire de votre thème.
  4. Ouvrez le fichier article.php de votre thème et avec la fonction "Enregistrer sous..." faites en une copie de sauvegarde en le nommant bck.article.php ou article.php.bck par exemple.
  5. fermer cette copie et ouvrez à nouveau le fichier article.php de votre thème
  6. Repérer toute la partie de code traitant les commentaires et son formulaire. voir extrait ci-dessous
    <?php # Si on a des commentaires ?>
    <?php if($plxShow->plxMotor->plxGlob_coms->count): ?>
    	<div id="comments">
    		<h2><?php $plxShow->lang('COMMENT') ?>(s)</h2>
    		<?php while($plxShow->plxMotor->plxRecord_coms->loop()): # On boucle sur les commentaires ?>
    			<div id="<?php $plxShow->comId(); ?>" class="comment">
    				<div class="info_comment">
    					<p><?php $plxShow->comAuthor('link'); ?> <?php $plxShow->lang('SAID'); ?> : 
    					<?php $plxShow->comDate('#day #num_day #month #num_year(4) à #hour:#minute'); ?></p>
    				</div>
    				<blockquote><p><?php $plxShow->comContent() ?></p></blockquote>
    			</div>
    		<?php endwhile; # Fin de la boucle sur les commentaires ?>
    		<?php # On affiche le fil Atom de cet article ?>
    		<div class="feed_article"><?php $plxShow->comFeed('atom',$plxShow->artId()); ?></div>
    	</div>
    <?php endif; # Fin du if sur la prescence des commentaires ?>
    <?php # Si on autorise les commentaires ?>
    <?php if($plxShow->plxMotor->plxRecord_arts->f('allow_com') AND $plxShow->plxMotor->aConf['allow_com']): ?>
    	<div id="form">
    		<h2><?php $plxShow->lang('WRITE_A_COMMENT') ?></h2>
    		<p class="message_com"><?php $plxShow->comMessage(); ?></p>
    		<form action="<?php $plxShow->artUrl(); ?>#form" method="post">
    			<fieldset>
    				<label><?php $plxShow->lang('NAME') ?>* :</label>
    				<input name="name" type="text" size="30" value="<?php $plxShow->comGet('name',''); ?>" maxlength="30" /><br />
    				<label><?php $plxShow->lang('WEBSITE') ?> :</label>
    				<input name="site" type="text" size="30" value="<?php $plxShow->comGet('site','http://'); ?>" /><br />
    				<label><?php $plxShow->lang('EMAIL') ?> :</label>
    				<input name="mail" type="text" size="30" value="<?php $plxShow->comGet('mail',''); ?>" /><br />
    				<label><?php $plxShow->lang('COMMENT') ?>* :</label>
    				<textarea name="content" cols="35" rows="8"><?php $plxShow->comGet('content',''); ?></textarea>
    				<?php # Affichage du capcha anti-spam
    				if($plxShow->plxMotor->aConf['capcha']): ?>
    					<label><strong><?php echo $plxShow->lang('ANTISPAM_WARNING') ?></strong> :</label>
    					<p><?php $plxShow->capchaQ(); ?> : <input name="rep" type="text" size="10" /></p>
    					<input name="rep2" type="hidden" value="<?php $plxShow->capchaR(); ?>" />
    				<?php endif; # Fin du if sur le capcha anti-spam ?>
    				<p><input type="submit" value="<?php $plxShow->lang('SEND') ?>" /> <input type="reset" /></p>
    			</fieldset>
    		</form>
    	</div>
    <?php endif; # Fin du if sur l'autorisation des commentaires ?>

    Notez l'importance des commentaires qui rendent les portions de codes identifiables et lisibles dans une certaine mesure.

  7. Remplacer le code précédent par :<?php include __DIR__.'/commentaires.php'; ?>
  8. Rafraichissez la page de votre PluXml de test. , vos commentaires et le formulaire doivent s'afficher et il est maintenant possible de répondre à un commentaire.

l'affichage est cassé ou différent!?

En effet , nous avons gagné en fonctionnalité, mais perdu dans l'affichage, pourquoi?

l'architecture, class ou id HTML de cette portion de page sera plus ou moins différente que celle utilisé dans votre thème, il faut donc reprendre la structure et les attributs de class ou id des commentaires et de son formulaire pour que les styles s'appliquent.

Dans le cas du thème perruche, des div englobant sont manquants et des id appliquées sur un titre ou le formulaire sont à replacées sur ces divs. C'est le minimum à effectuer pour retrouver un affichage similaire.

Enfin, maintenant qu'il y a de nouvelles fonctionnalité, il y a une pointe de style à ajouter pour marqué la difference. Modifions le décalage et la couleur de fond d'un commentaire en réponse à un autre commentaire et décalons légèrement le lien "répondre" en lui donnant une couleur différente de celle du texte.

Voici un exemple en démo dans la veine et pour ce thème perruche.

#comments .comment.level-1 {margin-inline-start: 4.5em;background: url(img/1.png) repeat-x #127286;}
.comment > a {padding: 0 1em;color: gold;}

Cette fonctionnalité apporte de nouvelles class : level-0 pour les premiers commentaires en réaction à l'article, puis de level-1 à level-6 pour les commentaires répondant à un autre commentaires

Cette dernière modification a presque finalisée l'adaptation de ce vieux thème.

En début d'article, est évoqué un nouveau mode (template) dans la prochaine version de PluXml.

L'affichage des infos d'un rédacteur sont déjà affichable, sans passer par un nouveau template, mais avec une fonction à ajouter à la fin de votre article, comme en dessous de cet article. Voici cette fonction : <?php $plxShow->artAuthorInfos('<div class="author-infos">#art_authorinfos</div>'); ?>.

Le thème perruche adapté est testable sur cette page en le choisissant dans le sélecteur de thèmes en haut de page, il est aussi téléchargeable. à partir du sélecteur de thème une fois sélectionné.

Les modification pour les commentaires indiquées ici et la fonction artAuthorInfos() n'y sont pas intégrés. Vous pouvez tenter de le faire , ce thème ne craint pas grand chose.

Petit indice, selon l'endroit ou vous placerez le div englobant les commentaires et le formulaire, il y aura besoin de le refermer, une seule ou deux fois ... il y a un else en fin de code.

"Si vous trouvez dans ce texte des fautes ou des erreurs, merci de me le signaler."GC-nomade

2 notes / moyenne 9

Hébergeur bénévole de ressources pour le CMS PluXml, un CMS en flat file propulsé à l'XML.

Mon site PluXml perso : re7net.com.

Laisser votre commentaire

Quelle est le quatrième caractère du mot phedvbx0 ?

Fil RSS des commentaires de cet article