Les raccourcis spip permettent de rédiger du contenu en insérant des balises spécifiques dans les champs textes lors de la rédaction d’un article, ces balises sont ensuite transformées par spip en code html pour l’affichage public.
Liste avec la puce spip
Rédaction
Résultat
Code généré
Liste sans la puce spip
Rédaction
Résultat
- banane
- citron
Code généré
Liste numérotée
Rédaction
Résultat
- banane
- citron
Code généré
Sous-liste
Rédaction
Résultat
- légumes
- carotte
- agrumes
- citron
- orange
Code généré
Et pour personnaliser les puces des listes, référez vous en css à list-style-type .
Raccourcis wikipedia
Ecrire du code (php, html) non interprété
Utiliser les balises<cadre> ou <code>
Rédaction
Résultat
<?php
echo hello world;
?>autre ligne de texte
Code généré
Ecrire du code html ou css à interpréter
Utiliser la balise<html>
Rédaction
Résultat
Code généré
<style>
<!--
.cssvert{color:green}
-->
</style>Simple retour à la ligne
Rédaction
Résultat
la ligne suivante
la ligne suivante
Code généré
Pour insérer une ligne de paragraphe, sautez une ligne.
Les références SPIP pour les raccourcis typographiques se trouvent dans l’aide en ligne, une démonstration est disponible sur demo.spip.org
Structure de base d’une boucle spip
Mémento d’une structure de boucle spip : Cet exemple est à réaliser dans les squelettes html de vos pages SPIP.- <Bn>
- option avant si réponse
- <BOUCLEn>
- la boucle
- </BOUCLEn>
- option après si réponse
- </Bn>
- option si aucune réponse
- <//Bn>
un peu de css pour clarifier l’exemple d’application :
- <style>
- <!--
- .maboucle div{border: 2px solid orange ;padding:10px;}
- .maboucle ul{border:2px solid pink;width:40%;}
- .maboucle li{padding:10px;}
- .maboucle span{color:red;}
- .maboucle p{ color : purple ;}
- -->
- </style>
Exemple d’application de boucle spip
- <div class="maboucle">
- <p>du texte peut se placer avant la boucle</p>
- <Bn>
- <div>
- Voici tous les articles dont les sous titres sont coucou
- <ul>
- <BOUCLEn(ARTICLES){soustitre="coucou"}{par titre}>
- <li>#TITRE -#SOUSTITRE</li>
- </BOUCLEn>
- </ul>
- </div>
- </Bn>
- <span>Désolé! aucun article ne correspond à ces critères!</span>
- <//Bn>
- <p>du texte peut se placer après la boucle</p>
- </div>
Résultat si les critères correspondent
du texte peut se placer avant la boucle
- article abc -coucou
- article efg -coucou
- article tuv -coucou
du texte peut se placer après la boucle
Résultat si les critères ne correspondent pas
du texte peut se placer avant la boucle
Désolé ! aucun article ne correspond à ces critères !
du texte peut se placer après la boucle
Mémento pour les critères de boucles ou les balises
Dans vos squelettes, pour séparer les éléments par une une virgule utiliser {","}
- <BOUCLE_auteurs(AUTEURS) {id_article} {par nom} {", "}>
- [<a href="#URL_AUTEUR">(#NOM)</a>]
- </BOUCLE_auteurs>
Pour créer le lien de l’article 12 sans passer par une boucle #URL_ARTICLE{12}
Forcer la réindexation d’un site sous SPIP
Il est possible de forcer la mise à jour de la base des indexs. Cette fonctionnalité est accessible en spip<1.9.2 en lançant une page du répertoire "ecrire" :
http://nom_de_votresite/ecrire/admin_index.php
Cliquez ensuite sur "Cliquez ici pour forcer l’indexation du site" jusqu’à ce que tous les indicateurs soient complètement verts.
En SPIP > 1.9.2 utilisez le plugin Recherche Etendue.
Les infos php du serveur
Pour connaitre les possibilités php du serveur qui héberge votre site comme par exemple quelles sont les librairies de traitement d’images installées, allez sur la page :
- SPIP<1.9
http://nom_de_votresite/ecrire/info.php - SPIP>1.9
http://nom_de_votresite/ecrire/?exec=info
Les filtres natifs de SPIP
Les filtres sont des fonctions qui s’appliquent aux balises avec crochets et accolades [(#TEXTE)], [(#URL_ARTICLE)] ... il faut mettre un pipe | (alt + L sur mac) puis le filtre. [(#TEXTE|filtre)]
Il existe dans SPIP des filtres par défaut, mais on peut aussi se servir des fonctions php ou créer ses propres fonctions.
Filtre conditionnel
Pour faire apparaitre le lien hypertexte d’un article même si le titre du lien n’existe pas.Cocher d’abbord Oui dans (ecrire/?exec=configuration) > Contenu des articles > Lien hypertexte
- [sur le web : <a href="#URL_SITE">(#NOM_SITE|!={''}|?{#NOM_SITE,#URL_SITE})</a> ]
Plus court ?
- [sur le web : <a href="#URL_SITE">(#NOM_SITE|sinon{#URL_SITE})</a> ]
Filtre conditionnel d’une inclusion
A mettre à l’interieur d’une boucle article !- [(#ENV{id_article}|=={'59'}|?{' ',''})<INCLURE{fond=inc-art59}{id_article}>]
Filtre transformant des paragraphes en simple saut à la ligne
Exemples de filtres personnels
Cryptez vos emails en les laissant visibles !
Le filtre antispamarobase s’ajoute au filtre crypt_mail , il permet aux rédacteurs de rédiger un texte qui contient un email protégé des robots spammeurs.Préférez toutefois un lien vers la page de l’auteur, en rédaction[écrire un mail à l'auteur->auteur54] ou en dur dans un squelette
<BOUCLE_auteurs(AUTEURS) {id_article} {par nom} {", "}>
<a href="#URL_AUTEUR">Ecrire un mail à l'auteur #NOM</a>
</BOUCLE_auteurs>L’exemple de contact@elastick.net ici crypté reste visible et actif, ouvrez le code source pour vérifier !
Démonstration du cryptage de mail
Rédaction
Résultat
Code généré
<a href="mailto:contact@elastick.net" class="spip_url spip_out">contact@elastick.net</a>
- /*
- * +----------------------------------+
- * Nom du Filtre : antispamarobase
- * +----------------------------------+
- * Date : 4 avril 2005
- * Auteur : ELASTICK.net
- * +-------------------------------------+
- * Fonctions de ce filtre :
- * Crypter l arobase jusqu au point suivant dans le champ d un article, d une rubrique etc..
- * sans empecher l affichage a l ecran
- * ni son utilisation par un logiciel de messagerie
- * +-------------------------------------+
- * utilisation dans un squelette :
- * [(#TEXTE|antispamarobase)]
- * s’utilise avec crypt_mail (placé au dessus) dans mes_fonctions.php
- * a combiner eventuellement avec cryptemail_txt
- * [(#TEXTE|cryptemail_txt|antispamarobase)] qui crypte la balise <a href>
- *
- */
- function antispamarobase($texte) {
- $s= crypt_mail($cryptarobase);
- }
- return $texte;
- }
il faut le faire précéder dans mes_fonctions.php de :
- /*
- * +----------------------------------+
- * Nom du Filtre : crypt_mail
- * +----------------------------------+
- * Date : dimanche 6 juillet 2003
- * Auteur : Jean-Pierre KUNTZ
- * alias Coyote
- * +-------------------------------------+
- * Fonctions de ce filtre :
- * Crypter une chaîne de texte (email, URL)
- * sans en empecher l affichage à l ecran
- * ni l’utilisation par un logiciel de messagerie
- * +-------------------------------------+
- *
- * Pour toute suggestion, remarque, proposition d’ajout
- * reportez-vous au forum de l’article :
- * http://spip-contrib.net/article.php3 ?id_article=197
- */
- function crypt_mail($texte) {
- $s="";
- for ($i=0;$i<strlen($texte);$i++) {
- }
- return $s;
- }
- function cryptemail_txt($texte) {
- $s= crypt_mail($textemail);
- }
- return $texte;
- }
Un code pour retirer toutes les balises <style=’...’>
SPIP ajoute des balises de style dans le texte, est-ce vraiment utiles ? Le débat fait rage, ici, pour la démonstration, on propose d’éliminer ces balises.
Un exemple ?
Rédaction
Résultat
Code généré
Après application du filtre, nous aurons :
<style=’...’> est donc gênant pour gérer le border des images ou leurs marges, il suffira alors d’appliquer le filtre et d’ajouter ces propriétés de class css après l’appel des fichiers css :
- <style type="text/css">
- .spip_documents img {border:1px solid green;}/*pas de bords? mettez {border:none;}*/
- .spip_documents_left img {margin-right:0.5em; float:left;}
- .spip_documents_right img {margin-left:0.5em; float:right;}
- </style>
Voici donc un filtre pour retirer toutes les balise <style=’...’> le code d’un filtre SPIP est à mettre dans le fichier mes_fonctions.php
et si ce fichier n’existe pas vous devez le créer dans un dossier nommé squelettes à la racine de votre site.
- <?php
- function virebalisestyle($str) {
- if($str!="") {
- }
- return $str;
- }
- ?>
Cette fonction/filtre s’utilisera ainsi : [(#TEXTE|virebalisestyle)]
En vrac
PLUGINS
- dites moi, vous avez une idée pour trouver si un plugin est là?
- <marcimat> 1.9.2 ou 1.9.3, php ou squelette ?
- <touti> dans un squelette 1.9.2c
- <marcimat> [(#EVAL{DIR_PLUGIN_PREFIX}|?{' ',”}) Mon action ]
- <marcimat> ou _DIR...
- <touti> arf, et en php ?...
- <marcimat> if (defined('_DIR_PLUGIN_XXX')){ ... }
- <touti> génial merci
- <marcimat> pour 1.9.2
- <marcimat> en 1.9.3, c'est un poil simplifié tout ça
- <touti> ah?
- <marcimat> [(#PLUGIN{XXX}) Mon action ]
BALISES
Quand on crée une balise, on peut vouloir récupérer des variables du contexte. Il y a un article déjà sur contrib qui explique cela.
Mais quand on veut trouver le type de boucle du contexte, faut aller chercher dans la pile $p.
Voilà comment :
$p->boucles[$p->id_boucle]->id_table
SQUELETTES
Empêcher l’apparition des boutons de recalcul sur une page en particulier, à plaçer en première ligne :
Se servir de #REM par exemple pour image_typo cela donnerait une image avec la police victor de Actuellement
- [(#REM|=={''}|?{Actuellement}|image_typo{police=Victor.ttf,taille=14,largeur=150})]
Créer un lien vers l’article 54 en se passant de boucle
- <a href="#URL_ARTICLE{54}">lien</a>
Créer un lien vers la page "site" avec la variable id_syndic=xx , à mettre dans une boucle de syndication
- [(#URL_PAGE{site}|parametre_url{id_syndic})]
Afficher les articles ayant le mot clef truc
- <BOUCLE_articles(ARTICLES){titre_mot=truc}>#TITRE</BOUCLE_articles>
Utiliser un array, le déclarer précédemment, puis le remplir dans une boucle incrémenté par le compteur.
- #SET{articles,#ARRAY}
- <BOUCLE_articles_rub(ARTICLES){id_rubrique}>
- #SET{articles,#GET{articles}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_ARTICLE}}}
- </BOUCLE_articles_rub>
- [(#REM) test du tableau faire [(#GET{articles}|print_r)] ]
Faire un CSS qui soit un squelette
cela permet de récupérer des variables.
Appeler la CSS dans une page SPIP
Inclure une variable calculée par une noisette.
classiquement et sans variable on utilise
<INCLURE> ou les [(#INCLURE)]
pour envoyer et récupérer la variable
- #SET{mavariable,#INCLURE{fond=monsquelette}{monparam=#ENV{monparam}}}
MYSQL
Aller directement dans la base pour modifier ou supprimer, par exemple lorsque vous avez 2000 sites qui encombrent, un gros coup de balai peut être nécessaire ! La méthode rapide est donc de lançer une commande directement depuis MYSQL (par exemple via l’interface phpmyadmin)
sélectionner les sites en proposition
Supprimer les sites en proposition



Retrouvez dans cette rubrique des astuces pour SPIP comme certains raccourcis typographiques peu connus ou des explications sur les squelettes SPIP.