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

More
8 years 1 month ago - 8 years 1 month 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 :
Code:
// 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 :
Code:
<?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 :
Code:
<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) :
Code:
<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: 8 years 1 month ago by AlainR.

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

Moderators: vistamediajoomlacornerggppdk
Time to create page: 0.259 seconds
Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Essential
These cookies are needed to make the website work correctly. You can not disable them.
Display
Accept
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline