background preloader

SPIP

Facebook Twitter

Divers

MAJ SPIP. Spip Zone. Comment intégrer ses noisettes dans un squelette. Les inclusions La balise <INCLURE> est apparue avec SPIP 1.4. Sa syntaxe générale, qui permet les inclusions contextuelles est <INCLURE{fond=ma_noisette}{mes_paramètres…}/>. La balise #INCLURE existe depuis SPIP 1.9.1. Sa syntaxe générale, qui permet les inclusions contextuelles, mais aussi l’utilisation de filtres est [(#INCLURE{fond=ma_noisette}{mes_paramètres…}|les_filtres)]. Outre l’utilisation de filtres, la principale différence entre ces modes d’inclusion est la gestion des caches.

En conséquence, on préfèrera #INCLURE pour les noisettes nécessitant un filtrage ou ne nécessitant pas une mise à jour fréquente. Les modèles La notion de modèles a été introduite dans SPIP 1.9.1. Dans les squelettes, il est possible d’utiliser la balise #MODELE, dont la syntaxe générale est [(#MODELE{mon_modele}{mes_paramètres}|les_filtres)]. Mais les modèles autorisent aussi des insertions de noisettes lors de l’édition des différents objets SPIP (articles, rubriques, etc.).

#SELF. #SELF retourne l’URL de la page appelée, nettoyée des variables propres à l’exécution de SPIP. #SELF (depuis SPIP 1.8) retourne l’URL de la page courante. Les variables propres à l’exécution de SPIP (par exemple, var_mode) sont supprimées. Exemple : pour une page avec l’url spip.php? Article25&var_mode=recalcul, la balise #SELF placée dans article.html retournera spip.php? Article25. Usages - Certaines balises de formulaires acceptent un paramètre pour préciser sur quelle page le visiteur doit être redirigé après avoir validé le formulaire.

. - Avec le filtre |parametre_url, pour ajouter des variables dans l’URL de la page courante. . - #SELF est utile dans les formulaires, pour que l’utilisateur revienne à la page courante après validation : <form action="#SELF"> [(#SELF|form_hidden)] ... Le filtre |form_hidden (SPIP 1.9) calcule les champs cachés (hidden) du formulaire à partir des arguments de #SELF. #SELF dans les squelettes inclus.

Filtres

Boucles. SPIP 2, prêt à bondir ! - La graine de Marcimat. La sortie de SPIP 2 s’annonce plus que jamais imminente. Cet article va essayer de compléter quelques points oubliés dans les 2 articles précédents (SPIP 2 se prépare et SPIP 2 se prépare (suite)). Not not not ! I want it ! A propos de l’écriture des squelettes SPIP, un certain nombre de points ont été sensiblement améliorés suite à l’écoute attentive des créateurs de sites. Une demande qui revenait souvent était de pouvoir « Afficher les articles qui n’ont pas le mot clé "X" ».

Facile dites-vous ? <BOUCLE_art(ARTICLES){titre_mot ! Oui, mais attention ! C’est parfois ce que l’on cherche, mais pas tout le temps... Dans certains cas, on souhaite plutôt dire « affiche tous les articles, sauf ceux liés à un mot clé ’X’ » Comment fait-on ? <BOUCLE_pas_ce_mot(ARTICLES){titre_mot = 'X' }{doublons}></BOUCLE_pas_ce_mot><BOUCLE_art(ARTICLES){doublons}> ... Télécharger SPIP 2 introduit une nouvelle syntaxe pour celles et ceux qui aiment ces relations compliquées : <BOUCLE_articles(ARTICLES){! Télécharger.

Multilinguisme

SQLite. Configurer une fonctionnalité de votre site, ou un plugin. La configuration d’une fonctionnalité ou d’un plugin consiste à définir des valeurs pour ses différents paramètres. Il faut donc pour cela définir un formulaire et pouvoir accéder aux valeurs des paramètres, partout dans vos squelettes. Les formulaires CVT permettent aussi, simplement, de créer une page de configuration pour une fonctionnalité de votre site, ou pour la configuration d’un plugin. Un mode de configuration a été intégré à SPIP3 [ce mode de configuration était disponible pour SPIP2 dans le plugin Bonux]. Formulaire de configuration Supposons que vous ayez une fonctionnalité "truc" à configurer. créez un formulaire CVT dont le nom commence par « configurer_ », avec juste le fichier HTML et sans le PHP (et donc sans définir les fonctions charger, verifier et traiter). créez une page configurer_truc.html dans prive/squelettes/contenu/ (pour SPIP 3) ou dans prive/exec/ (pour SPIP 2), à l’intérieur de votre plugin ou de votre répertoire squelettes.

C’est tout ! Autorisations. CFG : comment s'en passer ! CFG est un outil pour développeur de plugins qui permettait de créer des configurations de façon plus simple que d’ordinaire. L’évolution progressive de SPIP et l’arrivée de SPIP 3 font que ce plugin est, la plupart du temps, devenu inutile. Nous expliquons dans cet article d’une part pourquoi, et d’autre part comment migrer un plugin pour qu’il ne dépende plus de CFG. Pourquoi se passer de CFG CFG a fait son temps et a bien servi. Voici un peu la chronologie des apports : L’introduction dans SPIP 2.0 des formulaires CVT avait déjà permis de simplifier les formulaires [1].

Plus tard, le plugin SPIP Bonux à partir de sa version 2.2, intégrait un mécanisme pour émuler une partie du fonctionnement de CFG (les formulaires et les fonctions lire, ecrire et effacer_config), avec un code source plus simple. Tout cela cumulé fait que le plugin CFG n’aura plus d’intérêt en SPIP 3 et son ancien fonctionnement ne sera pas maintenu. Comment se passer de CFG Le principe est simple : Télécharger. Coder un plugin simple avec cfg. Quelques rappels sur cfg cfg est un outil pour gérer les paramètres de configuration d’un plugin (ou de n’importe quoi) avec le minimum d’effort : La description des paramètres se fait en créant un unique fichier fonds/xxx.html qui donne le formulaire de gestion des paramètres ainsi que leur description/typage et la configuration du stockage. Stocker les paramètres de configuration dans la table spip_meta mais sans l’alourdir par des dizaines d’entrées (autant que de paramètres) comme c’est le cas actuellement pour beaucoup de plugins.

C’est fait en sérialisant la table arborescente de ces parametres. Le principe est donc que chaque plugin stocke ses paramètres sous forme d’une entrée avec 2 champs : « nom » et « valeur » : nom stocke l’identifiant unique du stockage, pour un plugin, son préfixe est le mieux indiqué. valeur stocke un tableau php (array) contenant des éléments de la forme : « nom_variable_config » => « valeur_de_la_variable ». Un plugin tutoriel pour utiliser cfg : aa <! Coder un plugin simple avec cfg. Rédaction du paquet.xml. Paqxmlgen/La description d’un plugin : paquet.xml La description d’un plugin : paquet.xml Un nouveau standard de description Un plugin SPIP nécessite d’être décrit pour être mis en œuvre avec fiabilité et activé par l’interface privée de SPIP. Jusqu’à présent, cette description était donnée pour chaque plugin par un fichier nommé plugin.xml. À partir de la version SPIP 3.0, plugin.xml est remplacé par un fichier paquet.xml, plus simple dans son expression et conforme à la norme XML.

La lecture, en proposant un XML plus lisible et moins verbeux la traduction, en déplaçant les descriptions dans les fichiers de langues l’affichage des informations, en réduisant le texte au profit de données plus précises l’écriture, en éliminant toute redondance dans les précisions de compatibilité la mise au point, en soumettant le fichier au validateur XML avant d’autoriser l’activation du plugin. Structure générale de paquet.xml paqxmlpaquet/La balise <paquet> La balise <paquet> prefix categorie version etat logo.

Les points d'entrée (pipelines) - Documentation du code de SPIP. 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. Critères spécifiques - Programmer avec SPIP 2. Des critères de boucles spécifiques permettent de récupérer les articles dans les langues souhaitées. lang Déjà, simplement le critère {lang} permet de sélectionner la langue du visiteur, ou la langue choisie : // langue du visiteur<BOUCLE_art(ARTICLES){lang}> ... </BOUCLE_art>// langue anglaise (en)<BOUCLE_art(ARTICLES){lang=en}> ... </BOUCLE_art> Télécharger traduction Le critère {traduction} permet de lister les différentes traductions d’un article : <BOUCLE_article(ARTICLES){id_article}> <ul> <BOUCLE_traductions(ARTICLES) {traduction}{par lang}> <li>[(#LANG|traduire_nom_langue)]</li> </BOUCLE_traductions> </ul></BOUCLE_article> Télécharger Ici, toutes les traductions d’un article seront affichées (y compris l’article en cours, que l’on peut enlever avec le critère {exclus}). origine_traduction Ce critère permet de retrouver les sources d’un article traduit, c’est à dire celui servant de référence aux traductions.

Télécharger La traduction d’origine d’un article : Télécharger Exemple Télécharger. Les traitements conditionnels avec SPIP - Eliaz Weblog. Plusieurs moyens sont à votre disposition pour effectuer des traitements conditionnels dans SPIP. Cet article tente de les recenser. Il en manque peut être alors n’hésitez pas à commenter cet article pour signaler des oublis ou pour poster des exemples d’utilisation. Parties optionnelles des boucles La syntaxe complète des boucles permet d’afficher du code optionnel avant et après la boucle ainsi que du code alternatif si la boucle ne renvoie aucun résultat.

<Bn> * Code HTML optionnel avant <BOUCLEn(TYPE){critère1}{critère2}... Parties optionnelles des balises La syntaxe des balises permet d’afficher du code avant et après une balise si celle-ci existe dans la page en cours grâce à la notation à crochets. [ texte optionnel avant (#BALISE) texte optionnel après ] Dans l’exemple suivant, on affiche l’ouverture et la fermeture de la div que si la balise #TEXTE renvoie quelque chose : [<div class="texte">(#TEXTE)</div>] <BOUCLE_feinte(ARTICLES){0,1}>[(#LETEST|? Les filtres de test Le filtre |? Sinon. Liste des pipelines - Programmer avec SPIP 2.1. Dev.webdesigneuse.com/spip/IMG/pdf/spip_squelettes.pdf.

Transmettre des paramètres - Programmer avec SPIP 2.1. Vous pouvez transmettre des paramètres aux inclusions. Par défaut, rien n’est transmis à une inclusion hormis la date du calcul. Pour passer des paramètres au contexte de compilation du squelette, il faut explicitement les déclarer lors de l’appel à l’inclusion : Télécharger Le premier exemple avec {param} seul récupère la valeur de #PARAM et la transmet au contexte de compilation dans la variable param . Le second exemple attribue une valeur spécifique à la variable param . Transmettre tout le contexte en cours Le paramètre {env} permet de transmettre le contexte de compilation du squelette en cours à celui inclus.

Exemple Si l’on appelle la page spip.php? Dans le squelette C.html , on peut alors récupérer tous les paramètres transmis. Balises. SkelEditor. SkelEditor 2.0. La version remaniée et enrichie du plugin, pour SPIP 2.1, qui vous permet d’éditer votre squelette directement en ligne sans passer dans le FTP Ce plugin vous permet d’éditer les fichiers du squelette courant depuis l’interface privé. Cela peut être utile pour mettre à jour un squelette, réparer une erreur lorsqu’on n’a pas d’accès FTP, ... Attention, il ne s’agit pas d’un éditeur WYSIWYG, mais d’un éditeur de code disponible dans l’interface privée de SPIP.

Un bouton d’administration sur le site public Le plugin ajoute un bouton supplémentaire « Squelettes&CSS ». Il vous permet de visualiser tous les squelettes inclus sur la page en cours, ainsi que la liste des feuilles de style CSS référencées par la page : Si vous utilisez les fonctions de compression de CSS de SPIP, SkelEditor retrouvera tout de même les feuilles CSS originales référencées dans votre page. Le survol d’un nom de squelette inclu met en surbrillance la partie de la page générée par ce squelette. Upload Téléchargement.