Mettre à jour un vieux thème 3/4

Rédigé par GC-nomade Aucun commentaire
Classé dans : Les thèmes, modifications, mise à jour, tutos et astuces Mots clés : aucun

Checklist

  1. rendre compatible la sélection et l'affichage d'un vieux thème dans PluXml : fait
  2. ajouter le fil d'Ariane aux catégories : fait
  3. Créer les templates inexistant : objet de cet article
  4. Identifier les fonctions non représentées dans le thème : Fin de l'article.

Les templates manquants

template ? à quoi cela correspond il ?

Les template, gabarits ou modèles en français sont dans PluXml les fichiers permettant d'affichées les données selon le mode .. d'affichage dans lequel se trouve le CMS.

Le mode d'affichage est déterminé par la requête dans l'url envoyé au serveur où se trouve PluXml. Quelles sont-elles ?

À l'écriture de cet article, la version de PluXml stable est la 5.8.9. et les modes qu'elle supporte sont:

  1. Home ou accueil(pluxml est multilingue, accueil s'affiche pour le français), c'est lorsque vous accéder a la racine du site sans demander de page particulière. Par exemple : https://pluxml.org ou https://pluxml.org/index.php vous affiche la page d'accueil du site. le template utiliser est home.php (il y a une exception, mais cela ne concerne pas notre thème mais les options d'affichages de vos pages)
  2. article c'est le mode pour lequel un article s'affiche seul : par exemple https://monsite.com/index.php?nouvel-article. le template utiliser est
    article.php.
  3. categorie c'est le mode qui affiche les articles d'une catégorie donnée. par exemple : https://monsite.com/index.php?rubrique-1 affiche la liste des articles rattachés à la catégorie 1, numérotée 001 dans l'administration et nommée rubrique 1. C'est le template : categorie.php
    dans lequel le fil d’Ariane est ajoutée
    (article n°2 de la série)
  4. erreur lorsqu'une page de PluXml n'existe pas ou plus, le mode bascule en erreur. Affiche une page
    avec le template erreur.php
  5. tags affiche la page d'un mot clé .Par exemple : https://monsite.com/index.php?tag/pluxml c'est le template : tags.php.
  6. archives affiche la page des articles correspondant à une année ou mois récents exemple : https://monsite.com/index.php?archives/2023/01 pour janvier 2023. c'est le template : archives.php.

Les deux derniers template des modes tags et archives sont absent car en 2009, ces modes n'existaient pas encore dans PluXml

D'une structure trés similaire à categorie.php , il suffit quasiment de dupliqué ce fichier pour créer les deux manquants.

Pour ce faire créer le fichier tags.php et le fichier archives.php en copiant/collant dedans le contenu de categorie.php.

A ce stade, il y aura un bug d'affichage au niveau du fil d'Ariane, il suffit de le corriger en modifiant la ligne:

	<li><?php $plxShow->catName(); ?></li>

en

	<li><?php $plxShow->tagName(); ?></li>

Pour le fichier archives.php modifier cette même ligne en :

	<li><?php echo plxDate::formatDate($plxShow->plxMotor->cible, $plxShow->lang('ARCHIVES').' #month #num_year(4)') ?></li>

Si cela semblait se compliquer, c'est plutôt simple et rapide à effectuer une fois que les quelques mises à jours essentielles sont effectuées.

Est-ce fini ?

— Non

Maintenant que nous avons notre template pour les tags, pourquoi ne pas les afficher?

  1. pour chaque article
  2. En liste dans la sidebar ou le pied de page

Ce n'est pas compliqué.

Arrivé à ce stade, créer, éditer et modifier un fichier du thème ne doit plus vous intimider. Il n'y a eu guère en création de code que du CSS. Le reste etant de la reinjection de fonctions native de PluXml.

Afficher et styler les tags.

Dans le thème par défaut actuel de PluXml, les tags sont affichés, il suffit de rechercher et de copier coller cette portion de code dans ce thème à l'endroit où l'on veut les faire apparaitre.

Ce code pourra être trouvé dans home.php, categorie.php, archives.php et tags.php .Ce sera le même dans chacun de ses fichiers, la mise à jour de ses fichier se fait à la chaine.

Le code ressemble à ceci

<span class="tags">
	<?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags() ?>
</span>

Obligé de le faire et comment?

Il n' y a pas de réelle obligation, tout dépend de ce que vous voulez en finalité

Faut-il l'inserer tel quel avec ses span ? En regardant le code du thème, on voit qu'a la fin de l'article , ou de son résumé est affiché le nombre de commentaires, cela est communs à tous ces fichiers . Nous placerons les tags à coté pour ce tutoriel.

le code du thème affichant le nombre de commentaire ressemble à ceci

<p class="comment_nb"><?php $plxShow->artNbCom(); ?></p>

Insérez une barre horizontale pour marquer une difference visuelle avant </p> en laissant deux espaces autour, puis ajoutez la ligne de code affichant les tags

La modification faites ressemble à ceci:

<p class="comment_nb"><?php $plxShow->artNbCom(); ?> | <?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags() ?> .</p>

Il suffit maintenant de rechercher dans chaque fichier la ligne de code :

<p class="comment_nb"><?php $plxShow->artNbCom(); ?></p>

En la remplaçant par:

<p class="comment_nb"><?php $plxShow->artNbCom(); ?> | <?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags() ?> .</p>

Pour le template article.php, qui affiche un seul article dans sa totalité, il y a souvent une structure différente et les données secondaires de l’article peuvent être disposées différemment et plus nombreuses. L'approche est similaire, mais on recherche la fonction affichant la catégorie <?php $plxShow->artCat(); ?> pour se situé dans le fichier et regarder la structure dans laquelle elle se trouve.et la compléter avec <?php $plxShow->lang('TAGS') ?> : <?php $plxShow->artTags() ?>ou la reproduire.

Vous pouvez aussi décider de placer les tags en toutes fin de l'article, ou sous son titre ou à coté des catégories liées.

Voilà , nos mots clés s'afficheront ainsi que leur page dédiée.

L'ajout d'une liste de tags et des archives dans le thème

Comme l'affichage de nos tags fonctionne, et que le template archives.php existe, il est possible d'afficher les liens vers ces pages. Pour l'exemple, il seront ajouter à la sidebar du thème.

A nouveau, allons dans le thème par défaut pour rechercher les codes d'affichages en ouvrant le fichier sidebar.php.

<h3>
	<?php $plxShow->lang('TAGS'); ?>
</h3>

<ul class="tag-list">
	<?php $plxShow->tagList('<li class="tag #tag_size"><a class="#tag_status" href="#tag_url" title="#tag_name">#tag_name</a></li>', 20); ?>
</ul>

<h3>
	<?php $plxShow->lang('ARCHIVES'); ?>
</h3>

<ul class="arch-list unstyled-list">
	<?php $plxShow->archList('<li id="#archives_id"><a class="#archives_status" href="#archives_url" title="#archives_name">#archives_name</a> (#archives_nbart)</li>'); ?>
</ul>

En comparant ce code à celui du thème perruche, ils sont très similaire en structure. un titre + une liste

Transformez les h3 en h2 et retirez les class de ul qui ne sont pas indispensables. puis insérer ce code après la liste des derniers commentaires.

Le fichier sidebar.php devrait maintenant ressembler à ceux-ci.

<?php if(!defined('PLX_ROOT')) exit; ?>
<div id="sidebar">
	<div id="categories">
		<h2>Catégories</h2>
		<ul>
			<?php $plxShow->catList('Accueil'); ?>
		</ul>
		<h2>Derniers articles</h2>
		<ul>
			<?php $plxShow->lastArtList('<li><a href="#art_url" title="#art_title">#art_title</a></li>'); ?>
		</ul>
		<h2>Derniers commentaires</h2>
		<ul>
			<?php $plxShow->lastComList('<li><a href="#com_url">#com_author a dit :</a><br/>#com_content(70)</li>'); ?>
		</ul>
		
		<h2><?php $plxShow->lang('TAGS'); ?></h2>
		<ul>
			<?php $plxShow->tagList('<li class="tag #tag_size"><a class="#tag_status" href="#tag_url" title="#tag_name">#tag_name</a></li>', 20); ?>
		</ul>

		<h2><?php $plxShow->lang('ARCHIVES'); ?></h2>
		<ul>
			<?php $plxShow->archList('<li id="#archives_id"><a class="#archives_status" href="#archives_url" title="#archives_name">#archives_name</a> (#archives_nbart)</li>'); ?>
		</ul>
	</div>
	<div id="syndication">
		<h2>Syndication</h2>
		<ul>
			<li><?php $plxShow->artFeed('atom'); ?></li>
			<li><?php $plxShow->comFeed('atom'); ?></li>
		</ul>
	</div>
</div>
<div class="clearer"></div>

L'adaptation est presque finie, mais il reste encore quelques fonctions qui demande quelques mise à jours supplémentaires

Vous avez probablement remarqué des morceaux de code étranges pour afficher un mot en capital , comme $plxShow->lang('ARCHIVES');. En fait, PluXml est multilingue et les thèmes peuvent aussi l'être.un dossier lang dans le répertoire du thème sert à stockés les traductions du thème. ainsi qu’accessoirement un fichier d'aide à l'utilisation qui n'existe que très rarement, mais cette fonction est disponible

Il y a aussi la partie des commentaires qui permet de répondre a un commentaire en particulier, cela est utile pour l'interaction avec et pour vos visiteurs.

Un quatrième article devrait faire suite pour rendre votre thème multilingue et réorganisé l'arborescence de son dossier, je n'ose pas dire le normé car il n'y a pas officiellement de normes, seulement quelques requis pour être reconnu et utiliser par PluXml.

Un cinquième article s'attachera à la mise à jours du fichier commentaires.php , l’insertion des détails du rédacteur de l'article et l'inclusion de hook( points d'accroche) émulant un plugin au préalable installé.

.

"Si vous trouvez dans ce texte des fautes ou des erreurs, merci de me le signaler."GC-nomade

1 notes / moyenne 10

Hébergeur bénévole de ressources pour le CMS PluXml, un CMS en flat file propulsé à l'XML.

Mon site PluXml perso : re7net.com.

Écrire un commentaire

Quelle est le premier caractère du mot rpe50 ?

Fil RSS des commentaires de cet article