Image différente pour chaque page / groupe dans le header
Bonjour,
Après avoir cherché et testé pendant plusieurs mois divers CMS, je suis finalement tombée sur PluXml qui semble correspondre à ce que je recherche. MERCI !
Pour commencer, je pense n’utiliser que des pages statiques.
J’aimerais savoir comment pouvoir mettre une image/photo différente dans le header.php selon le groupe défini ou la page seule. Je m’explique :
Groupe 1 > banner1.jpg
Groupe 2 > banner2.jpg
Page statique 1 sans groupe > banner3.jpg
Page statique 2 sans groupe > banner4.jpg
Et ainsi de suite…
Je pense que la manière la plus simple serait de créer plusieurs fichiers header en conséquence et de les associer à un template différent pour chaque page, mais j’imagine qu’il doit également être possible d’utiliser le même header.php en affichant le nom de l’image d’une manière dynamique, afin d’éviter d’avoir beaucoup de templates dans lesquels seul le nom d’un fichier changerait.
Voici le code que j’ai mis dans mon header.php et qui affiche mon image :
Merci d’avance pour votre aide.
Après avoir cherché et testé pendant plusieurs mois divers CMS, je suis finalement tombée sur PluXml qui semble correspondre à ce que je recherche. MERCI !
Pour commencer, je pense n’utiliser que des pages statiques.
J’aimerais savoir comment pouvoir mettre une image/photo différente dans le header.php selon le groupe défini ou la page seule. Je m’explique :
Groupe 1 > banner1.jpg
Groupe 2 > banner2.jpg
Page statique 1 sans groupe > banner3.jpg
Page statique 2 sans groupe > banner4.jpg
Et ainsi de suite…
Je pense que la manière la plus simple serait de créer plusieurs fichiers header en conséquence et de les associer à un template différent pour chaque page, mais j’imagine qu’il doit également être possible d’utiliser le même header.php en affichant le nom de l’image d’une manière dynamique, afin d’éviter d’avoir beaucoup de templates dans lesquels seul le nom d’un fichier changerait.
Voici le code que j’ai mis dans mon header.php et qui affiche mon image :
[== Indéfini ==]
<div id="banner"> <img src="<?php $plxShow->template(); ?>/images/banner.jpg" width="900" height="250"></div>
Merci d’avance pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ici on n'affiche les bannières que si on visualise une page statique
La fonction $plxShow->staticId() renvoie l'identifiant de la page statique en cours de visualisation
Exemple si on est sur la page statique 002, le code donnera
Les bannières sont à mettre dans un dossier images (exemple: themes/defaut/images/)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Merci.
J'ai modifié mon fichier header.php, comme précisé, mais l'image ne s'affiche pas.
En regardant le code source de plusieurs pages statiques, j'ai :
L'ID de la page statique ne s'ajoute pas au nom de l'image...
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Là, maintenant on a une image/bannière différente pour chaque page statique.
Et si maintenant on voulait combiner et en plus avoir la même image/bannière pour toutes les pages d'un même groupe ?
Exemple :
Groupe 1 > page 001 - page 002 > banner-group-1.jpg
Groupe 2 > page 003 - page 004 > banner-group-2.jpg
Page statique 1 sans groupe > banner-5.jpg
Page statique 2 sans groupe > banner-6.jpg
Et ainsi de suite…
Autrement, si c'est trop compliqué, je recopierai les mêmes images que je renommerai différemment.
En lisant l'article "Afficher une sidebar différente pour chaque page statique" http://pluxopolis.net/article26/pluxml-afficher-une-sidebar-differente-pour-chaque-page-statique qui est très intéressant, je me demandais s'il était possible de faire quelque chose de similaire pour les images dans le header, c'est-à-dire d'afficher une image par défaut si aucune image correspondant à l'identifiant existe.
Si l'image banner-1.jpg existe dans le répertoire, on affiche l'image en question banner-1.jpg, par contre, si elle n'existe pas, on affiche une image par défaut, comme banner.jpg.
Je pense que cela doit être possible, mais je n'y suis pas parvenue...
J'ai aussi essayé de mettre la même image pour toutes les pages d'un groupe, mais sans succès...
Merci
Meme principe: les bannières sont à mettre dans un dossier images dans le répertoire du theme (exemple: themes/defaut/images) sous les noms banner-1.jpg, banner-2.jpg, etc... et une bannière avec le nom banner.jpg qui servira pour toutes les pages statiques qui n'ont pas une bannière dédiée.
Le code suivant est à mettre dans le fichier header.php
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai donc modifié mon code, comme indiqué, mais maintenant, c'est uniquement la bannière "banner.jpg" qui s'affiche dans toutes les pages, même si les banner-1.jpg / banner-2.jpg, etc existent...
ps: j'ai mis à jour le code également dans mon précédent post
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Un grand MERCI !
Et pour avoir la même bannière/image selon un groupe, est-ce possible ou dois-je créer différents templates « header » pour chaque groupe ?
Le principe reste le meme sur le fonctionnement et pour nommer les fichiers des bannières
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai changé le code pour avoir une image différente en fonction des groupes de pages statiques, mais maintenant, c'est à nouveau uniquement la bannière "banner.jpg" qui s'affiche dans toutes les pages, qu'elles fassent partie d'un groupe ou non.
Est-ce que je dois nommer les bannières d'un groupe différemment que banner-1.jpg, banner-2.jpg, etc ?
En fait, j’aimerais que si :
- la page fait partie d’un groupe –> une image s’affiche (la même pour toutes les pages du groupe),
- la page ne fait pas partie d’un groupe -> une image différente pour chaque page s’affiche (définie avec le staticId())
- aucune bannière n’existe dans le répertoire avec son ID -> une bannière par défaut s’affiche (banner.jpg)
Merci pour ton aide
- pour les groupes: banner-nomdugroupe.jpg (exemple: banner-Groupe1.jpg , banner-Groupe2.jpg, etc...)
- pour les page statiques: bannier-idpagestatique.jpg (exemple: banner-1.jpg, banner-2.jpg, etc...)
- bannière par défaut: banner.jpg
/!\ Certains hébergeurs n'aiment pas les espaces dans les noms de fichier. Donc s'il y a des espaces dans le nom du groupe, il faut les supprimer dans le nom du fichier jpg.
Exemple: pour un nom de groupe Mon groupe 1 le nom de fichier sera banner-Mongroupe1.jpg (respecter la casse également)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Aucune image ne s'affiche, même pas celle par défaut...
J'ai donc regardé dans le code de plusieurs pages affichées et j'ai :
<div id="banner"><img src="http://www.monadresse.com/test/" width="900" height="250"></div>
Il s'arrête au répertoire de mon site dans lequel j'ai installé PluXML. Le chemin + le nom de l'image n'aparaissent pas, donc aucune image n'est affichée...
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Un grand merci pour ta précieuse aide !