Bandeau différents pour chaque section (Via 1 skin)?
Issue description
Demande d'aide pour paramétrer/modifier mon skin pour changer l'image du bandeau pour chaque section.
L'objectif: Le but est de garder le même look (Skin) pour toutes les sections, mais de changer le bandeau header_background.jpg pour chaque section.
L'idée visuelle derriere cet objectif est d'avoir dans le bandeau juste une petit modification graphic comme par exemple le changement d'une image en filigramme qui represente la section.
L'option bourin: Avec 1 skin différent par section avec comme seul différence l'image jpg. Par contre cela veux dire 20 sections > 20 Skins. et pour garder la cohérence du look, un changement dans le skin doit être fait 20 fois.
Ce que j'aimerai: Avoir une version plus éléguante avec 1 Skin, qui change l'image en fonction de l'ID de ma section.
Etat de mes recherches:
- L'image est paramétré dans le fichier CSS à la section Header_Panel et ceci est static.
- Mon idée a été de passer cette définition dans Template.php pour pouvoir utiliser des variables et de la logique.
Ou je suis bloqué:
- Je ne connait pas PHP ni CSS ni le reste d'ailleur, mon premier probléme est de faire fonctionner le code en statics déjà.
- Ensuite comment récupéré l'ID de la section courante dans une variable
- Comment tester l'existance de l'image (pour pouvoir si pas de image_id.jpg utiliser l'image par defaut)
La logique que j'aimerai est du type.
$idsection = IdSectionCourante;
$Image = "Header_background_".$idsection.".jpg";
If Not fichierExist($image) then $image = "header_background.jpg";
Echo "Ce qu il faut".$image."pour afficher cette entete";
En résumé: je pense voir quoi faire, mais je suis trops nul pour le faire... Mais différent test hier soir non rien donné, donc cela ne sert à rien que je les mettent dans le post comme exemple...
Merci de votre aide, je pense que cette logique peux servire à plein d'autre endroit, pour d'autre besoin.... En tout cas je pense apprendre beaucoup de la solution de cet exemple.
Comments
| Lasares from L'Île-Bizard à Montréal, Québec Member 688 posts registered on Nov. 14 2006 | Certainement que c'est faisable, et vous êtes sur la bonne voie. Une voie que d'autres avant vous ont également parcourue avec succès, comme en témoigne l'article suivant, que vous lirez jusqu'à la fin pour trouver les éléments de réponse que vous cherchez : Ajout d'un script php à un template Bon succès ! et laissez-nous voir le résultat, si possible. On a si peu d'idée de ce qui est possible... |
| Pat Member 140 posts registered on Feb. 20 2006 | Merci, J'ai regardé et entre temps j'ai avancé de mon coté. Je réussi cette aprés-midi à faire fonctionner l'affichage de l'image de fond dans le PHP depuis une variable. Mais évidement ce n'est pas encore fini. j'ai encore des soucis:
Dans ma solution, j'ai commanté dans le fichier .css la definition de header_panel
Et dans le fichier template.php je n'ai pas touché à :
Mais j'ai ajouter entre les balises head du code php qui ajoute la définition CSS de header_panel.
Donc actuellement j'ai 2 problémes qui reste (le reste fonctionne):
|
| Pat Member 140 posts registered on Feb. 20 2006 | Nom de ... J'ai trouvé ce qui n'allait pas avec mon code de test du fichier.... Je savait bien que c'était une connerie.... Je testait l'existance du fichier en construisant son path avec $context('url_to_root') et en faite il fallait utiliser $context('path_to_root')... Plus qu'un soucis: Trouver la variable qui contient l'ID de la section courante... donc le code doit ressembler à cela:
Bon il ne reste plus qu'as trouver la variable qui contient l'ID de la section courante et le code devrais me donner compléte satisfaction.... Que c'est dure de débuter.... |
| Bernard from nearby-an-airport Associate 6571 posts registered on Sep. 12 2003 | La variable $context['current_focus'][0]## contient la référence de la section de plus haut niveau pour la page en cours, par exemple ##'section:123'##
Donc le code suivant place dans la variable ##$section_en_cours l'identifiant que vous cherchez :
|
| Pat Member 140 posts registered on Feb. 20 2006 | Excellent En plus j'ai vue dans les tests que si on est dans des sous-section on a accés à toute l'arborescence... Si on est dans la section 44 qui se trouve dans ce chemain section:12 / section:23 / section:44 alors on as:
C'est exactement ce qu'il me manquez (avec en bonus la conversion de la chaine en ID Est-ce que je peux abuser?
|
| Lasares from L'Île-Bizard à Montréal, Québec Member 688 posts registered on Nov. 14 2006 |
" Ou je peux trouver la liste des variables "magiques" comme celle-ci que l'on peux utiliser dans template. " Vous avez posé la même question à deux endroits sans recevoir de réponse, il me semble. J'arrive un peu tard, mais si ça vous est encore utile, on trouve la plupart des variables importantes de Yacs dans /shared/global.php
|
| Pat Member 140 posts registered on Feb. 20 2006 | Merci beaucoup, je vais de ce pas me précipiter pour aller voir.... (En effet je demandai de l'aide aux deux endroits pour augmenter les probabilité de réponses en fonction de quel article serait lu par une personne ayant la réponces...)
|
Rate this page
Posted by Pat on Feb. 23, commented by Pat on Mar. 17, (popular)
, superbe
, cela fonctionne .... c'est magique
....
)
Merci Bernard