Version du squelette : 1.0.3
Crédits [1]
Contributions intégrées et sources d’inspiration
- Pagination pour le forum par James,
- Limitation du nombre de caractères à l’affichage ( fonction couperclean )
function couperclean($chaine,$limite='60',$separateur=' ',$ext=" (...)") {
$chaine=substr($chaine,0,$limite);
$position=strlen($chaine)+1;
$tail='';
if ($position>$limite) {
$position=strrpos($chaine,$separateur);
$chaine=substr($chaine,0,$position);
$tail=$ext;
}
return $chaine.$tail;
}- Hacks pour une meilleure accessibilité :
Cette fonction crée le paragraphe s’il n’existe pas (texte sur un seul paragraphe)...
function paragraphe($texte) {
$texte = trim($texte);
if (!strlen($texte)) return '';...et ajoute un paragraphe au debut, pour "reparagrapher" proprement :
$texte = paragrapher(str_replace('</p>', '', '<p>'.$texte));
return $texte;
}Attention, la possiblité de labelllisation est restreinte du fait de l’utilisation de la barre de raccourcis typos dans les forums...
Concernant les navigateurs
Ce squelette a été conçu pour respecter les standards XHTML 1.0 Transitional et CSS 2.0. Le squelette est compatible avec tous les navigateurs respectant les standards.
Fonctionnement des squelettes
Voici quelques notes sur les noisettes de Cher 2015, en 3 points (3 fonctionnements légèrement différents sont à remarquer pour ces noisettes). Au besoin remplacer "noisette" par n’importe quel autre mot plus adapté... ;-)

- La page d’acceuil
Afficher un même bloc sur toutes les pages
Au total, une dizaine de noisettes sont utilisées pour le squelette de Cher 1015. Une noisette sert à placer à part le code de tel ou tel bloc affiché à l’identique en plusieurs endroits différents du site, pour éviter d’avoir à répéter ce code à l’identique dans chaque squelette. Par exemple, le bloc "derniers commentaires" est contenu dans la noisette inc-messages.html, incluse dans chacun des squelettes du site. Il en est de même pour l’entête (inc-header.html et inc-header-bandeau.html) et le pied de page (inc-footer.html).

- La page article
Afficher un même bloc partout sauf...
Cependant, la plupart de ces noisettes s’affichent de façon conditionnelle, en fonction du contexte.
Par exemple, le bloc "chiffre clé", qui présente dernier article de la rubrique "Les chiffres clés", est affiché en page d’accueil, ainsi que sur les pages de rubriques... excepté sur la page de la rubrique du même nom.
En effet, la page de la rubrique "Les chiffres clés" listant les articles qu’elle contient, ce bloc y est évidemment inutile.
Puisque c’est là la seule différence entre cette page de rubrique et une autre, plutôt que de créer un squelette spécifique pour celle-ci, on a préféré conserver un squelette rubrique.html commun à toutes. Les différentes noisettes y sont donc incluses, et chaque noisette est codée de façon à s’afficher, ou pas, selon la rubrique dans laquelle elle sera appelée. Voici comment procéder :
- On inclut ainsi le bloc "chiffre clé" :
<INCLURE{fond=inc-chiffre}{id_rubrique}>
...en n’oubliant pas de passant le critère {id_rubrique}, qui permettra de
rendre conditionnel l’affichage de la noisette
- Et la noisette correspondante, inc-chiffre.html, est ainsi codée :
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}{id_secteur=8}> </BOUCLE_rubrique>
<BOUCLE_chriffre(ARTICLES){id_secteur=8}{!par date}{0,1}>
...
</BOUCLE_chiffre>
<//B_rubrique>C’est-à-dire : la boucle "rubrique" vérifie quelle est la rubrique en cours. Si celle-ci est située dans le secteur 8 (= "Les chiffres clés"), nous n’affichons rien. Sinon, nous affichons, grâce à la boucle chiffre, le dernier article du secteur 8 (= "Les chiffres clés").
Un forum multi-noisettisé
Le site "Cher 2015, tout le département en débat" accorde une place importante aux forums de discussion. Les messages de forums peuvent être classés par date ou par auteur. Ceux-ci font donc l’objet de 2 noisettes inc-forum-par-date.html et inc-forum-par-auteur.html qui classent les messages de premier niveau, comme leur nom l’indique.

- La page article, coeur du forum
Par contre, les messages secondaires, du fil de discussion sont classés de façon identique et font donc l’objet d’une troisième noisette inc-forum-fil.html, incluse dans chacune des deux noisettes précédentes.

- La page article, entrée du forum
Merci d’avance pour tous vos retours...
ToDo : Utiliser les dév de Spip-Agora pour gérer les forums dans l’espace privé...



