Gestion avancée des thèmes dans PluXml

Written by Bazooka07 11 comments

Bonjour à tous,

Comme vous le savez, nous essayons de faire au mieux pour que vous puissiez modifier à votre aise vos thèmes pour PluXml. Aujourd'hui nous allons étudier les multiples possibilités offertes afin de ne pas surcharger vos pages et votre temps de travail.

Au sommaire : comment attribuer un affichage différent selon la catégorie, la page statique, voir même selon l'article.




Les bases d'un thème


Avant d'entrer dans le vif du sujet, reprenons ensemble les bases :
Un thème de base est composé de fichiers .php, ayant chacun un rôle bien précis, ainsi qu'une seule feuille de style .css. Il sont tous important et, en tout cas au début, il faut tous les laisser.
Voici la liste des fichiers :

  • header.php : Haut de page
  • footer.php : Pied de page
  • home.php : Page d'accueil
  • categorie.php : Affichage en mode catégorie
  • article.php : Affichage en mode article
  • commentaires.php : Affichage des commentaires (lié à article.php)
  • static.php : Affichage en mode statique
  • erreur.php : Affichage en mode erreur
  • archives.php : Affichage en mode archives
  • tags.php : Affichage en mode tags
  • sidebar.php : Affichage de la barre latérale

Après avoir vu cette liste, j'imagine ta tête en te disant : trop de fichiers tue le fichier !. J'ai envie de dire non. Il est tout de même beaucoup plus simple pour un utilisateur lambda de se retrouver dans un fichier ayant moins de lignes et un nom correct, qu'un seul gros fichier, non ?




A table !


Après cette introduction, qui, je n'en doute pas, t'as fait bien peur, nous allons voir que la séparation de tout les éléments d'affichage peut s'avérer être un atout de taille dans la réalisation d'un thème complexe. Ne mangez pas trop de pain, vous allez être gavés avant le dessert !

Depuis la version 5, nous avons intégré des détails qui vous sauveront la vie lors de vos réalisations. En effet il n'y a quasiment plus de limite à la personnalisation de vos pages.

Il nous a été demandé depuis longtemps de pouvoir mettre une page statique en page d'accueil tout en gardant une autre page type blog, sans passer des heures à magouiller. Voilà qui est désormais possible, pour cela, il suffit de vous rendre dans : Paramètres > Options d'affichages > Utiliser une page statique comme page d'accueil. Le menu du thème propose alors un nouveau lien : Blog.

Puisque vous êtes pointilleux, nous avons poussé le vice un poil plus loin, nous vous donnons la possibilité d'appliquer un thème différent à chaque partie du site.

Et là, j'imagine votre tête, sachez-le, vous pouvez si l'envie vous en prend, donner un thème différent par page statique, par catégorie et même par articles ! Sympa non ? Comment ça c'est nul ? Dans ta chambre! Pas de dessert pour toi !
Combien d'entre-vous se sont parfois battus pendant des heures avec des div cachées, des magouilles & co par dessus la tête avant d'arriver à faire ce qu'ils voulaient de leur page. C'est fini le temps des prises de têtes sans nom !




Principe de fonctionnement


Le principe est des plus simples, oui on aime qu'un plan se déroule sans accrocs ! On vas donc dans le dossier du thème sur lequel on travail, on crée un nouveau fichier utilisant comme préfixe la partie du site que l'on souhaite personnaliser :

  • static-home.php
  • categorie-1.php
  • article-381.php

Il est essentiel d'appliquer un nom de fichier avec un préfixe comme ci-dessus, vous pouvez ensuite nommer la fin comme bon vous semble.

Reste donc à appeler ces fichiers via notre administration :

  • Pour une catégorie : Administration > Catégories, puis cliquer sur l'onglet " Option " en bout de ligne de la catégorie concernée et choisissez le fichier thème à appeler pour cette dernière.
  • Pour un article, cela se déroule lors de la phase de rédaction, dans la colonne de droite en bas, on vous propose de sélectionner le fichier désiré.
  • Pour une page statique, le principe est similaire à celui utilisé pour les catégories.

En quoi cela est-il vraiment pratique. Marmonnes-tu ? Tu va finir par l'avoir ta rouste toi ! Si l'on regarde bien, cela va nous permettre mille et une options. Pourquoi ? Si j'ai un fichier static-home.php, rien ne m'empêche d'appeler header-home.php par exemple, vous voyez où je veux en venir ? Seule la pagination reste à ce jour peu personnalisable, mais cela ne devrait tarder... des nouvelles méthodes vont peut être arriver ?

Alors, que pense-tu de ce nouveau système de gestion des thèmes ?

11 comments

#1  - marama said :

Effectivement c'est bien plus souple et modulable !

Reply
#2  - retouchelibre said :

Cette personnalisation des styles de pages est très pratique. Je m'en suis servi pour gérer les galeries sur le site web de mon club photo : http://www.pccorleans.com

Reply
#3  - dhoko said :

Je pense que comme ça fonctionne comme dans WordPress c'est génial ;)
Manque la page de fonctions qui permet de coder des fonctions qui iront dans l'interface d'administration pour avoir accès à une interface avancée d'un thème.

En tout cas ce système de gestion de template est parfait pour réaliser un site.

Reply
#4  - Frédéric said :

@dhoko

Pour cela il faudrait déjà avoir des notions en php et ce système alourdis considérablement les thèmes, ce que ne veux pas devenir PluXml.

Rien ne t'empêche de te faire un "mini_admin" fermé ;)

Sinon merci pour ce tuto qui pourront éclairer les lanternes de certains :)

Reply
#5  - amoweb said :

Merci Benjamin pour ce tuto !

Reply
#6  - Rohirrim said :

interessante possibilité pour adapter la "forme au fond" de manière spécifique et différenciée.
Mais, je pense qu'il faut préciser que le préfixe inclut aussi le -...
Il faudrait donc écrire <strong>article-</strong>381.php</p>

Reply
#7  - NexusStudioNet said :

Génial,

Un petit coucou et un grand merci à toute l'équipe.
pluXml est exactement ce que je recherchais, pour éviter de pourrir mon seul accès à une base.
Simple, léger, efficace, facilement personalisable, et en plus, super bien écrit ! Le code est clair.

Beau boulot les gars, je suis content d'être tombé sur votre produit

Reply
#8  - eric said :

Ho ! Ho ! :) ca sent l'inspiration de spip tout ca ! :) Très très bonne initiative mes chers car justement, le fait d'avoir inclus des lignes de prog permettant la reconnaissance d'une nouvelle page rattaché au coeur du blog en tant que nouveau thème est une très très bonne initiative. C'est marrant mais en fouillant un peu c'est ce que je suis arrivé à faire en testant au cas où vous auriez prévue cela. Very good encore une fois, l'aire de rien, juste cette possibilité de reconnaissance de template dépoie énormément les possibilités d'un cms.

Reply
#9  - Benoit V. said :

Je dirai que c'est exactement le principe utilisé par Wordpress pour avoir une mise en page spécifique et personnalisée.

Mais je connais moins SPIP, je n'ai intégré qu'un site sous ce CMS. :)

Reply
#10  - Ringo said :

Hello,
dites, c'est mes yeux, où il n'est maintenant plus possible de mettre facilement une page statique en page d'acceuil ? Je ne trouve pas ce "aramètres > Options d'affichages > Utiliser une page statique comme page d'accueil. " dans mon pluxml 5.5
Très embêtant ca......... merci par avance ! :-)

Reply
#11  - Stéphane said :

@Ringo :

Gestion des pages statiques, colonne "Page d'accueil". Suffit de cocher la bonne ligne.

Reply

Write a comment

What is the third character of the word u874d0l?

Rss feed of the article's comments

Fatal error : type : 2 message : Trying to access array offset on value of type null file : core/lib/class.plx.motor.php line : 745 See https://www.php.net/manual/en/errorfunc.constants.php about type of error ============================================================ Drop this plugin now for running PluXml and report to its author !!