Carnet Wiki

Astuces SPIP

Version 7 — Juin 2008 touti

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

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

SQUELETTES


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.

[(#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 les autorisations d’écriture ou de modification d’un auteur SPIP >=1.9.3

[(#AUTORISER{modifier,article,#ENV{id_article}}|?{' ',''})  vous pouvez modifier l'article ] 

Inclure une variable calculée par une noisette.

classiquement et sans variable on utilise
<code><INCLUREfond=monsquelette > code><INCLURE > ou les [(#INCLUREfond=monsquelette )] 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

SELECT * FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9zeW5kaWM8L2NvZGU+"></span> WHERE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3RhdHV0PC9jb2RlPg=="></span> = CONVERT(_utf8 'prop' USING latin1) COLLATE latin1_swedish_ci

Supprimer les sites en proposition

DELETE FROM <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF9zeW5kaWM8L2NvZGU+"></span> WHERE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3RhdHV0PC9jb2RlPg=="></span> = CONVERT(_utf8 'prop' USING latin1) COLLATE latin1_swedish_ci

Retour à la version courante

Toutes les versions