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

2 years 2 months ago - 2 years 2 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.

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

Moderators: vistamediajoomlacornerggppdk
© 2018 Flexicontent. All Rights Reserved.