• Un article tout simple, et très court aujourd’hui.

    Sur un site que je suis en train de faire, j’avais besoin de mettre une classe particulière sur le dernier élément d’une boucle Spip.

    <B_art>
    <ul>
    <BOUCLE_art(ARTICLES){id_rubrique=1}>
    <li><a href="#URL_ARTICLE"
    [(#TOTAL_BOUCLE|=={#COMPTEUR_BOUCLE}|?{"class=ma_classe",""})] >
    #TITRE
    </a></li>
    </BOUCLE_art>
    </ul>
    </B_art>

    Le dernier élément de ma liste aura donc la classe, "ma_class" !

    Lire la suite de Spip : Tester si on est sur le dernier élément d’une boucle

    Haut de pageremonter en haut de page


    20
    Juin
  • Théorie fumeuse sur la création de squelette pour Spip

    Le système de squelette de Spip permet d’interfacer son site internet comme on le souhaite. Malgré son apparence pour certain austère, la difficulté de prise en main reste très abordable.

    Complexe mais pas compliqué, complet mais léger, Spip propose à travers ses squelettes de vous accompagner dans la personnalisation de vos sites web. Pour cela, pas besoin de connaissance en php, le couple html/css suffit !

    Spip vous propose un système de boucle francisé pour vous faciliter la tâche. Ces boucles vont aller chercher dans la base de données les informations que vous avez saisies dans l’espace privé. Je ne vais pas détailler plus le principe de fonctionnement des boucles, ce sera l’objet du prochain article.

    Spip propose un jeu de squelette par défaut, qui se trouve dans le dossier squelettes-dist/. Analysons un peu son contenu.

    Le fichier sommaire.html est la page d’accueil de votre site. C’est ce fichier qui remplace le traditionnel index.html

    On trouve ensuite une suite de fichier rubrique.html, article.html, auteur.html, breve.html, rechercher.html,etc qui vont respectivement être les pages appelées pour l’affichage d’une rubrique, d’un article, d’un auteur, d’une brève, d’une recherche,etc. On retrouve le nom du fichier appelé dans l’url, par exemple : http://votresitespip/spip.php?rubriqueXX ira chercher le squelette rubrique.html pour l’affichage de la rubrique numéro XX.

    Le fichier backend.html est le fichier du flux rss du site. On remarque aussi une suite de fichier dont le nom commence par rss. Comme les développeurs de Spip sont des personnes fiables, on en déduit (et à juste titre) qu’ils contiennent les flux rss du forum des articles (rss_forum_article.html), etc.

    Les squelettes commençant par le préfixe inc- sont des fichiers d’inclusion qui sont appelés par d’autres pages de la manière suivante :

    <INCLURE{fond=inc-head}>

    pour le fichier inc-head.html

    Toujours dans le dossier squelettes-dist/, on trouve trois sous-dossiers. modeles/ qui permet de créer ces propres modèles. Reportez-vous à la documentation officiel de Spip. formulaires/ qui contient tous les formulaires accessible sur la partie public du site. Et polices/ dont je détaillerai le fonctionnement dans un futur article.

    Les feuilles de styles de Spip

    habillage.css est la feuille de style principale. C’est dans ce fichier qu’il faut mettre tous les styles de vos squelettes personnalisés.

    impression.css est la feuille de style qui définie les styles lors d’une impression.

    Et concrètement, je les mets où mes nouveaux squelettes ?

    Pour créer votre propre thème, commencer par créer un dossier squelettes/ à la racine de votre site. Une des erreurs que l’on pourrait commettre serait de modifier les fichiers de squelettes-dist. Il ne faut pas y toucher pour quelques très simples raisons. La première est que Spip prévoit justement un emplacement spécifique : Le dossier squelettes/. La seconde est de permettre de préserver un jeu de squelette complet et fonctionnel, comme ça, si vous faites une bêtise sur vos fichiers, Spip dispose quand même de squelettes valides et fonctionnels.

    Créer dans ce nouveau dossier un fichier sommaire.html dans lequel vous construirez votre page d’accueil. Et ainsi de suite avec les autres fichiers. Il est absolument nécessaire de respecter la nomenclature des fichiers. Si par exemple vous appelez votre squelette articles.html, Spip ira chercher le squelette article.html dans le dossier squelettes-dist/.

    Voilà, normalement vous avez toutes les infos qu’il vous faut pour créer vos propres squelettes. Il ne vous reste plus qu’à comprendre le système de boucle de Spip. N’hésitez pas à copier-coller certaines boucles dans squelettes par défaut de Spip dans un premier temps.

    Lire la suite de Créer ses squelettes Spip

    Haut de pageremonter en haut de page


    22
    Mars
  • Un filtre Spip est une fonctionnalité qui peut être appelée depuis les squelettes, pour personnaliser l’affichage. Il s’applique à une balise, de la façon suivante : [(#BALISE|filtre)]

    Créer un filtre personnalisé Spip n’est pas compliqué. Il suffit de définir une fonction dans le fichier mes_fonctions.php à la racine de votre site Spip. Si ce fichier n’existe pas créer, il suffit de le créer.

    Cette fonction doit prendre en paramètre la balise à laquelle elle s’applique, et la retourner une fois traitée, selon le modèle suivant :

    1. function nom_filtre($parametre){
    2. //Traitement
    3. return $parametre_traite
    4. }

    Ci dessous un exemple concret que j’utilise pour mon site. Il s’agit de modifier l’affichage des mois de l’année. Le bloc dans lequel la date s’affiche étant de taille restreinte, les noms des mois doivent être coupé. En se basant sur les filtres natifs des dates de Spip, je suis arrivé au résultats suivant :

    La fonction affdate_base($numdate, ’mois’) va récupérer le nom du mois. Puis on va chercher dans le tableau $tableau_mois le nom raccourci du mois et le retourner.

    1. function mois_court($numdate){
    2.         $tableau_mois = array (
    3.         "01"=>"Janv",
    4.         "02"=>"Fév",
    5.         "03"=>"Mars",
    6.         "04"=>"Avril",
    7.         "05"=>"Mai",
    8.         "06"=>"Juin",
    9.         "07"=>"Juil",
    10.         "08"=>"Aout",
    11.         "09"=>"Sept",
    12.         "10"=>"Oct",
    13.         "11"=>"Nov",
    14.         "12"=>"Dec"
    15.         );
    16.         return $tableau_mois[affdate_base($numdate, 'mois')];
    17. }
    Lire la suite de Créer un filtre Spip : Raccourcir le nom des mois

    Haut de pageremonter en haut de page


    13
    Fév
  • J’étais en train de mettre le site d’un ami sous Spip, quand j’ai été face un un petit souci. Certains éléments de son menu pointe directement vers des sites web ailleurs sur la toile, et non vers son propre site. Il ne me semblait pas intéressant de mettre ces liens en dur dans les différents squelletes, sinon pourquoi utiliser un CMS ?

    Je me suis donc posé la question de comment intégrer à Spip ces "redirections", pour qu’il puisse les modifier via l’espace privé.

    Dans l’interface privé de Spip, on peut renseigner plusieurs champs dans la configuration des rubriques. Le titre bien évidement, le descriptif, que j’utilise pour les méta tags et le title de mes liens, et le texte explicatif. Je n’avais jamais trouvé d’utilité à ce dernier champ jusqu’à maintenant !

    rubrique spip

    Je m’y suis pris de la manière suivante : Dans le champ "texte explicatif, j’ai mis l’adresse du site vers le quelle doit pointer la rubrique, et dans le squelette du menu le filtre suivant :

    [href=(#TEXTE|?{[(#TEXTE|textebrut)],'#'})]

    Ce code teste l’existence ou non de texte dans ce champ. Si oui, alors on l’affiche, sinon, on met un ’#’.

    Lire la suite de Spip - Redirection d’une rubrique vers un autre site

    Haut de pageremonter en haut de page


    22
    Juin
  • Quelles sont les possibilités offertes par Spip pour les liens au sein des articles ? Je vais essayer dans cet article de vous présenter les différentes options que Spip offre pour personnaliser les liens de vos articles.

    Le lien vers un site externe :

    Retrouvez Creamama sur [blogasty->http://blogasty.com/creamama-blog] donnera :

    Retrouvez Creamama sur blogasty.

    Le lien externe se voit attribuer la class "spip_out"

    Le lien interne :

    [Contactez l'auteur du blog Creamama ->aut1] donnera :

    Contactez l’auteur du blog Creamama.

    Le lien interne se voit attribuer la class "spip_in"

    • Pour un lien vers l’auteur 1 :
      • [lien vers l'auteur 1->aut1]
      • [lien vers l'auteur 1->auteur1]
    • Pour un lien vers l’article 2 :
      • [lien vers l'article 2->2]
      • [lien vers l'article 2->art2]
      • [lien vers l'article 2->article 2]
    • Pour un lien vers la rubrique 3 :
      • [lien vers la rubrique 3-> rub3]
      • [lien vers la rubrique 3-> rubrique 3]
    • Pour un lien vers la brève 4 :
      • [lien vers la brève 4-> br4]
      • [lien vers la brève 4-> breve 4]
      • [lien vers la brève 4-> brève 4]
    • Pour un lien vers le mot 5 :
      • [lien vers le mot 5->mot5]
    • Pour un lien vers un site syndiqué :
      • [un site syndiqué->site4]
    • Pour un lien vers une image :
      • [une image->img1]
      • [une image->image1]
    • Pour un lien vers un document :
      • [un document->doc7]
      • [un document->document7]

    Des ancres dans vos articles :

    Pour le point d’ancrage : [ancre<-]

    Et pour y faire référence : [Le point précis->art123#ancre]

    L’attribut title des liens :

    Par défaut, Spip n’ajoute pas l’attribut title sur les liens interne ou externe. Pour y remédier, il suffit d’ajouter « |texte du title » après le texte cliquable de votre lien comme ceci : [texte_cliquable|texte_du_title->url]

    Et pour ceux qui voudrait aller plus loin encore, et personaliser ces raccourcis, ils sont définis dans le fichier /ecrire/inc/texte.php

    Lire la suite de Des liens dans des articles Spip

    Haut de pageremonter en haut de page


    21
    Juil

Retrouvez Creamama sur les réseaux suivants

Les recherches fréquentes

Infos