Carnet Wiki

Astuces SPIP

Version 8 — Juin 2008 — biniasz

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 :

[(#HTTP_HEADER{Content-type: text/html[; charset=(#CHARSET)]})]

Se servir de #REM par exemple pour image_typo cela donnerait une image avec la police victor de Actuellement

  1. [(#REM|=={''}|?{Actuellement}|image_typo{police=Victor.ttf,taille=14,largeur=150})]

Créer un lien vers l’article 54 en se passant de boucle

  1. <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

  1. [(#URL_PAGE{site}|parametre_url{id_syndic})]

Afficher les articles ayant le mot clef truc

  1. <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.

[(#REM) dans la page monstyle.html  et en première ligne ]
#HTTP_HEADER{'Content-Type: text/css'}


.couleurdefond{
backround-color:green;
  [(#ENV{id_article}|={33}|?{
  backround-color:pink;
  })]
}

Appeler la CSS dans une page SPIP

[(#REM) dans la page article.html par exemple cela retournera /?page=styles&id_article=33]
<link rel="stylesheet" type="text/css" href="[(#URL_PAGE{monstyle}|parametre_url{id_article,[(#ENV{id_article})] )]" />


<div class="colordefond"> change ici la couleur de fond en rose si article=33 </div>

Tester Tester les autorisations d’écriture ou de modification d’un auteur SPIP >=1.9.3</h4 > <cadre 3 < cadre class=« spip »> [(#AUTORISERmodifier,article,#ENVid_article) vous pouvez modifier l’article ] | ? ’ ’,’’) vous pouvez modifier l’article ]

Voir la doc

Inclure une variable calculée par une noisette.

classiquement et sans variable on utilise
<INCLURE{fond=monsquelette}> ou les [(#INCLURE{fond=monsquelette})]

pour envoyer et récupérer la variable

  1. #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

SELECT * FROM `spip_syndic` WHERE `statut` = CONVERT(_utf8 'prop' USING latin1) COLLATE latin1_swedish_ci

Supprimer les sites en proposition

DELETE FROM `spip_syndic` WHERE `statut` = CONVERT(_utf8 'prop' USING latin1) COLLATE latin1_swedish_ci

Retour à la version courante

Toutes les versions