Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 06-04-2006 12:54:40

Blue Jester
Membre

Changer de skin pour chaque forum

Démo : ici (rendez vous sur les forums Necrophagus & Ufych Sormeer)

Hébergeant des forums de groupes musicaux, je ne voulais pas que l'intégration de leur forum dans leur site officiel soit à cent lieues de la charte graphique de ce dernier...

J'ai donc proposé de faire en sorte que chaque forum ait la possibilité de disposer de son propre skin.

Du fait que je travaille sur un punbb retouché, remodifié, retravaillé et archi-bidouillé, difficile pour moi de vous proposer un mod digne de ce nom ; en revanche je peux vous expliquer grossomodo ma recette :

(~ = ligne (approximative))

1. Ajouter un champ "style" (varchar(60)) dans punbb_forums (NULL)
2. viewforum.php ~42 -> $result = $db->query('SELECT f.forum_name etc
-> ajouter f.style à ce niveau là
3. viewtopic.php ~98 trouver f.forum_name et ajouter également f.style ; idem ~100
4. idem ~41 et ~43 de post.php
5. idem ~39 de edit.php.

6. dans header.php en dessous de "<title><?php echo $page_title ?></title>" (~64), s'il y a une ligne <link href... (je ne me rappelle plus si elle était déjà présente avant la modification), la supprimer et mettre ceci à la place :

<link rel="stylesheet" type="text/css" href="style/
<?php 
if ((isset($pun_user['style'])) && ($pun_user['style'] != $pun_config['o_default_style'])) {
echo $pun_user['style'].'.css';
}
else {
if (isset($cur_topic['style'])) { echo $cur_topic['style'].'.css'; } 
elseif (isset($cur_forum['style'])) { echo $cur_forum['style'].'.css'; } 
elseif (isset($cur_posting['style'])) { echo $cur_posting['style'].'.css'; } 
elseif (isset($cur_post['style'])) { echo $cur_post['style'].'.css'; } 
else { echo $pun_user['style'].'.css'; 
} 
}
 ?>" />

Résultat des courses :
A. Un invité affiche le forum skinné avec le skin prévu pour le forum
B. Un membre enregistré qui utilise le skin de base dans la config de punbb, affiche le forum skinné avec le skin prévu pour le forum
C. Un membre enregistré ayant défini un autre skin dans son profil, affichera tous les forums, y compris les forums skinnés, selon le skin qu'il a choisi dans son profil.
D. Un forum dont le champ "style" est NULL affichera le skin de base du forum, ou, si le membre enregistré a défini un autre skin dans son profil, c'est ce dernier qui sera affiché.

E. La page d'attente avant la redirection (après un post ou un edit) n'est pas compatible avec cette mod (du moins, je n'y suis pas parvenu). Par conséquent, j'ai désactivé cette page.


Désolé, c'est un peu brouillon, mais si ça peut vous aider...
A+!
BJ

Dernière modification par Blue Jester (06-04-2006 12:55:45)

Hors ligne

#2 06-04-2006 13:03:01

Blue Jester
Membre

Re : Changer de skin pour chaque forum

Au fait, pour modifier le skin d'un forum, allez directement dans phpmyadmin, car je n'ai pas fait de plugin d'administration...

Il faut que le champ soit évidemment renseigné avec le nom du skin, par exemple : Sulfur (et attention, si le serveur tourne sous linux, il y a de grandes chances que ce champ soit sensible a la casse)
Il faut également que le skin existe au préalable, sinon je ne garantis pas le résultat.

D'ailleurs, en aucun cas je ne garantis le résultat... C'est juste pour vous aider si vous souhaitez développer ce genre de trucs sur votre forum smile

Hors ligne

#3 06-04-2006 20:20:44

MT
Admin rasé

Re : Changer de skin pour chaque forum

Idée intéressante, et bien adaptée à l'utilisation que tu en fais. Bravo smile !


(s) MT
ex-Apupv
:faq: :recherche:
Gra.

Hors ligne

#4 26-04-2006 18:11:34

S Tio Père
Membre

Re : Changer de skin pour chaque forum

Arf ... j'aimerais bien qu'une personne me renseigne mieux sur la chose, car j'ai fais ce qu'il l'a dit mais ça ne fonctionne pas yikes(

Merci !


Cordialement, S Tio Père.

Decoupe-fr.com - Découpons gratuitement vos designs

PiwyK - Les Niouzes des Communautés Francophones

Hors ligne

#5 26-04-2006 18:25:41

Blue Jester
Membre

Re : Changer de skin pour chaque forum

peux-tu décrire précisément les différentes étapes de ce que tu as fait ?

Hors ligne

Pied de page des forums