Beez5: Rajouter dynamiquement un texte au titre des catégories

Appréciation moyenne:  / 1
Très mauvaisTrès bien 

Beez5: Comment rajouter un texte d'introduction aux titres de catégories

dans cet article, je vais montrer comment rajouter une introduction au titre des catégories lors d'un affichage en mode blog.

Dans les paramètres joomla 2.5 des articles, on peut choisir ou non d'afficher le titre des catégories.
Lorsqu'on choisit de le faire, le titre de la catégorie s'affiche, ainsi qu'un "page-heading" qui, sur mon site, est le même.
Si donc j'ai une catégorie Modélisme, modélisme s'affiche deux fois.

A la place, j'ai décidé d'afficher une intro et le titre de la catégorie, en modifiant un peu le code php du template.

Modification du code php du template beez5

Le template fait de la surcharge d'affichage, ça se passe ici:

\templates\tranquille5\html\

Dans ce dossier, toutes les pages qui s'afficheront surchargées par le code du template.
Ce qui nous intéresse, c'est le content, et la catégorie, ce qui donne en dossier

\templates\tranquille5\html\com_content\category\

Et le fichier concerné est:

blog.php

Repérage du code à modifier

Avec DragonFly, le débogueur intégré à mon navigateur favori, je repère comment est présenté ce titre de catégorie. Il est dans une balise h1.
Dans le fichier blog.php je repère où ça se passe:

<h1>
    <?php echo $this->escape($this->params->get('page_heading'));?>
    <?php if ($this->params->get('show_category_title'))
    {
        echo '<span class="subheading-category">'.$this->category->title.'</span>';
    }
    ?>
</h1>

voilà, je vais retoucher le code ici...

J'enlève le "page-heading", je rajoute mon texte, ça donne ceci:

<h1>
    <?php //echo $this->escape($this->params->get('page_heading'));?>
    <?php if ($this->params->get('show_category_title'))
    {
        $texteintro = JText::_( 'TPL_TRANQUILLE5_INTRO_CAT' );
        echo '<span class="subheading-category">'.$texteintro.$this->category->title.'</span>';
    }
    ?>
</h1>

Rajout d'une chaine de texte via le fichier Lang

Plutôt que d'écrire en dur dans le code le texte d'intro des catégories, je choisis de créer une variable dans le fichier lang français du template et de l'insérer via une fonction de joomla.

Le fichier de langue se trouve dans

\language\fr-FR

Et le fichier se nomme:

fr-FR.tpl_tranquille5.ini

(j'ai créé mon template à partir du beez5, j'ai renommé certains fichiers pour qu'ils correspondent à mon template afin d'éviter les confusions lors d'analyses de code en parallèle, voir cet article)

Dans le fichier de langue, donc, je rajoute une variable:

TPL_TRANQUILLE5_INTRO_CAT="Quelques articles de la catégorie: "

que je fais afficher ensuite via le code php vu plus haut.

Conclusion

Pour voir le résultat, allez visiter mon site et regardez l'entête de la catégorie en cours...