background preloader

Spip marque page

Facebook Twitter

Forcer la réactualisation d'une page par le code ? Traitement automatisé des images. [SPIP 1.9 et GD2] SPIP permet de faire subir aux images des effets automatisés. Ces effets ont deux vocations :— tout simplement assurer la cohérence graphique du site, en fabriquant automatiquement des éléments de navigation qui seront toujours réalisés selon les désirs du graphiste ;— créer des effets relativement spectaculaires, sans pour autant demander aux auteurs des articles de traiter les images eux-mêmes, et sans non plus interdire les évolutions graphiques du site par la suite. Par exemple : on veut, dans l’interface graphique du site public, que les logos de navigation des articles aient deux aspects : — dans tous les cas, ils sont « posés sur le sol », avec un reflet sous eux ;— au repos, ils sont en noir et blanc, assez foncés ; survolés, ils sont en couleur.

Sans les automatismes qui suivent, les webmestres ont pris l’habitude de créer, à la main, deux versions de ces images, et d’installer deux logos sur le site. Avertissement lenteur Transparences L’image d’origine image_nb. La syntaxe des balises SPIP. Chaque type de boucle permet de sélectionner des éléments de la base de données de SPIP : des articles, des rubriques, des brèves, etc. Chacun de ces éléments est lui-même constitué d’éléments précis : un titre, une date, un texte, etc. À l’intérieur d’une boucle, il faut donc pouvoir indiquer à quel endroit du code HTML on place tel ou tel de ces éléments précis. Pour cela, on va utiliser des balises SPIP. Fonctionnement simplifié Une balise SPIP se place à l’intérieur d’une boucle (puisqu’il faut savoir si l’on veut récupérer un élément d’un article, d’une rubrique, etc.).

Une balise est toujours précédée du signe dièse (#). Par exemple, affichons une liste de noms d’articles : <BOUCLE_articles(ARTICLES){id_rubrique}> #TITRE<br /></BOUCLE_articles> Lorsque la boucle sera exécutée, la balise SPIP #TITRE sera à chaque fois remplacée par le titre de l’article en question : Titre de l'article 1<br /> Titre de l'article 2<br /> ...

Codes optionnels Complétons l’exemple précédent : Affichage conditionnel. Voici une boucle qui fait, dans une boucle rubrique, une sélection avec des critères différents des articles en fonction du numéros de la rubrique. Cette contribution explique l’utilisation de boucles imbriquées et de la partie conditionnelle d’une boucle pour faire une boucle différente selon un critère de la boucle englobante.

Le cas que l’on va étudier est simple : on liste toutes les rubriques du site, on liste les articles dans ces rubriques, si on est dans la rubrique 1, on veut afficher les 5 derniers articles publiés, si on est dans les autres rubriques, on veut afficher tous les articles. <BOUCLE_toutes_les_rubriques(RUBRIQUES)><BOUCLE_la_rubrique_1(RUBRIQUES) {id_rubrique} {id_rubrique=1}><BOUCLE_les_articles_rubrique_1(ARTICLES) {id_rubrique} {0,5} {par date} {inverse}> #TITRE </BOUCLE_les_articles_rubrique_1></BOUCLE_la_rubrique_1><BOUCLE_les_autres_articles(ARTICLES) {id_rubrique}> #TITRE </BOUCLE_les_autres_articles><//B_la_rubrique_1></BOUCLE_toutes_les_rubriques>

Les variantes de squelette. SPIP permet de gérer des variantes de squelettes par rubrique, par branche ou par langue. Comme mentionné au début du manuel de réference et dans la documentation sur le multilinguisme, SPIP permet de gérer des variantes des squelettes, par langue, par rubrique ou les deux. Des mises en page différentes On peut souhaiter, par exemple, que tous les articles d’une rubrique aient une mise en page différente : couleur de fond et taille de texte différentes, informations relatives aux mots clés mises en évidence, etc. Ou encore que le contenu d’une rubrique donnée soit présenté différement parce qu’il correspond à un type de données différent : par exemple en listant tous les articles par numéro, y compris leur contenu qui serait court, plutôt que les derniers en dates suivis d’une pagination de tous les articles, avec des liens vers les pages d’articles.

On pourra aussi vouloir que l’interface du site soit différente selon la langue de l’article ou de la rubrique.