• 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
    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
    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
    21
    Juil
  • Lors de la création de mon blog de stage, j’ai été confronté à un problème. Je ne disposais que d’une seule base de données, pour ce site et pour mon blog de stage. J’ai donc arpenté les forums à la recherche d’une solution. Et j’ai fini par comprendre comment installer plusieurs sites Spip sur une seule base de données.

    Prenons mon exemple : Mon site « Creamama » est installé à la racine de mon serveur. Je crée un dossier « blogdestage » , j’y dépose un site Spip vierge, et dans le dossier "ecrire", je modifie le fichier "inc_version.php". Ligne 88, on peut voir : $table_prefix = « spip » ;

    Il suffit de modifier le « spip » en un préfixe de votre choix, et d’enregistrer les modifications. Vous pouvez maintenant commencer l’installation de ce nouveau site, en sélectionnant votre base de données, sans risque d’écraser les informations du déjà existant.

    On peut donc ainsi installer autant de site Spip que l’on en souhaite, la seule contrainte étant la capacité de la base de données.

    Bon courage

    Lire la suite de Installer plusieurs sites Spip sur une seule base de données
    10
    Juin
  • Alors, en attendant l’étape numéro 3 de la création d’un plugin Spip, voici un exemple de nuage de mots clés pour Spip.

    Sur de plus en plus de site internet on voit des nuages de mots clés, ou nuage de tags. Ce système permet d’offrir à l’internaute une nouvelle façon de naviguer.

    Le bout de code suivant va chercher tous les mots clés définis dans votre espace privé, va compter combien de fois chacun est attribué, et mettre une taille de police différente suivant ce nombre d’attribution.

    <BOUCLE_popul(MOTS){par hasard}>

           <a href="#URL_MOT" title="#TITRE"

                   <BOUCLE_popul_art(ARTICLES){id_mot}></BOUCLE_popul_art>

                   style="text-decoration: none; font-size:[(#TOTAL_BOUCLE|plus{15})]px">

                   <//B_popul_art>

           #TITRE</a>

    </BOUCLE_popul>

    Plus précisément la BOUCLE_popul va lister tous les mots clés. Et à chaque mot clé, la BOUCLE_popul_art va compter le nombre de fois que ce mot clé est attribué. Pour rendre la taille de la police dynamique, j’ai fais le choix de mettre les styles directement dans le code :

    font-size :[(#TOTAL_BOUCLE|plus15)]px

    Le choix d’ajouter 15 pixel à cette taille se justifie par le fait que si un mot clé n’est utilisé qu’une seule fois, il aura une taille de 16 pixel, et non de 1...

    Voilà, il vous suffit maintenant de simplement insérer ce bout de code dans votre site, de personnaliser le style et de bien sûr créer des mots clés dans l’espace privé.

    Bon courage !

    Lire la suite de Nuages de mots clés pour Spip
    11
    Janv

Qui suis je ?

Je suis un concepteur et développeur web à Grenoble. Je développe essentiellement avec le CMS Spip. Actuellement en contrat chez Territorial, je continue ma veille technologique, et vous fais partager ce que je trouve utile et pratique.

Suivez Creamama par Rss Abonnez vous au flux Rss de Creamama.fr

  • Suivez creamama sur twitter
  • Retrouvez creamama sur linkedIn
  • Retrouvez creamama sur technorati
  • Retrouvez creamama sur netvibes
  • Retrouvez creamama sur digg

Les sites des copains