Attention: pour Joomla 3 pas pour Joomla 4
Le rendu standard de tout module ou composant Joomla! peut être substitué par l'ajout de code dans le répertoire html
de votre template. C'est ce qu'on appelle une surcharge.
Il y a beaucoup d'article sur les surcharges de Joomla. Je citerai celui de CINNK "Petit guide pour débuter avec les surcharges Joomla!" (voir liens).
J'essaye d'utiliser le moins possible de surcharge dans mes sites du fait des mises à jour où elles ne sont pas prise en compte. Par contre j'utilise très souvent la surcharge des "info block" pour les articles Joomla!.
Pour le template hydrogen, les "info blocks" par défaut ressemble à cela
Ce que je veux obtenir c'est cela
Pour cela il faut faire une surcharge des fichiers "info block" que l'on trouve dans layouts/joomla/content/info_block
C'est à dire
1) Créer une copie des ces fichiers sir votre disque dur
2) Faire les modifications souhaitées
3) Placer ces fichiers modifiés dans /templates/g5_hydrogen/html/layouts/joomla/content/info_block
Le type de modification - Exemple sur author.php :
Le fichier de base :
<dd class="createdby" itemprop="author" itemscope itemtype="https://schema.org/Person"> <?php $author = ($displayData['item']->created_by_alias ?: $displayData['item']->author); ?> <?php $author = '<span itemprop="name">' . $author . '</span>'; ?> <?php if (!empty($displayData['item']->contact_link ) && $displayData['params']->get('link_author') == true) : ?> <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', $displayData['item']->contact_link, $author, array('itemprop' => 'url'))); ?> <?php else : ?> <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?> <?php endif; ?> </dd>
Les modifications :
<dd class="createdby hasTooltip" itemprop="author" itemscope itemtype="http://schema.org/Person" title="<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', ''); ?>"> <i class="fa fa-user"></i> <?php if (!empty($displayData['item']->contact_link ) && $displayData['params']->get('link_author') == true) : ?> <?php echo JHtml::_('link', $displayData['item']->contact_link, $author, array('itemprop' => 'url')); ?> <?php else :?> <?php echo $author; ?> <?php endif; ?> </dd>