[tuto] vue catégorie : lien vers les commentaires

More
2 years 4 months ago - 2 years 4 months ago #60190 by AlainR
Bonjour.
Je crois ne pas avoir vu cette possibilité implémentée : avoir, depuis le vue catégorie, un lien direct vers les commentaires (JComments).

Voici comment je m'y suis pris en modifiant le(s) fichier(s) category_items(_html5).php :
tout d'abord, j'ai souhaité afficher de toute façon les commentaires, même s'il n'y en a encore aucun :
dans le template, j'ai trouvé la variable $comments_non_zero qui passe à true si l'option d'afficher les commentaires est active. Le problème, c'est que le code qui suit vérifie s'il n'y a aucun commentaire et n'affiche rien. Il faut donc retirer && count($this->comments) du code suivant afin que les commentaires s'affiche systématiquement :
// Decide whether to show the comments column
$comments_non_zero = false;
if ( $this->params->get('show_comments_count', 0) ) :
	if ( isset($this->comments) && count($this->comments) ) :
		$comments_non_zero = true;
	endif;
endif;

Mais s'il n'y a pas encore de commentaire publié, 0 ne s’affiche pas, il y a juste le picto des commentaires. Il faut inverser quelques lignes et modifier le code suivant :
				<?php if ( isset($this->comments[ $item->id ]->total) ) : ?>
				<div class="fc_comments_count_nopad hasTip" alt="<?php echo JText::_('FLEXI_NUM_OF_COMMENTS');?>" title="<?php echo JText::_('FLEXI_NUM_OF_COMMENTS');?>::<?php echo JText::_('FLEXI_NUM_OF_COMMENTS_TIP');?>">
					<?php echo $this->comments[ $item->id ]->total; ?>
				</div>
				<?php endif; ?>
en le modifiant comme suit :
				<div class="fc_comments_count_nopad hasTip" alt="<?php echo JText::_('FLEXI_NUM_OF_COMMENTS');?>" title="<?php echo JText::_('FLEXI_NUM_OF_COMMENTS');?>::<?php echo JText::_('FLEXI_NUM_OF_COMMENTS_TIP');?>">
				<?php if ( isset($this->comments[ $item->id ]->total) ) : echo $this->comments[ $item->id ]->total; else : echo '0'; endif; ?>
				</div>

Ensuite, afin d'avoir le lien vers l'item, et plus spécifiquement vers les commentaires, voici le code à ajouter au code ci-dessus (en gras, les nouveaux ajouts) :
				<a href="<?php echo JRoute::_(FlexicontentHelperRoute::getItemRoute($item->slug, $item->categoryslug, 0, $item)); ?>"#comments><div class="fc_comments_count_nopad hasTip" alt="<?php echo JText::_('FLEXI_NUM_OF_COMMENTS');?>" title="<?php echo JText::_('FLEXI_NUM_OF_COMMENTS');?>::<?php echo JText::_('FLEXI_NUM_OF_COMMENTS_TIP');?>">
				<?php if ( isset($this->comments[ $item->id ]->total) ) : echo $this->comments[ $item->id ]->total; else : echo '0'; endif; ?>
				</div></a>

Je ne l'ai pas encore testé dans tous les templates, mais c'est fonctionnel dans un template maison copié d'un template de base.
Cdt.
Last edit: 2 years 4 months ago by AlainR.

Please Log in or Create an account to join the conversation.

Moderators: vistamediajoomlacornerggppdk
© 2018 Flexicontent. All Rights Reserved.