Astuces SPIP

, par _Eric_

Afficher un article dans la langue du visiteur si possible, sinon dans la langue principale

-* Article sur les critères {traduction} et {origine_traduction} sur Programmer : Critères spécifiques

  • Utilisation dans le plugin Squelette Plugins SPIP : 75922
Appeler un formulaire dont le nom est dynamique
[(#SET{operation, [(#ENV{type-page})_[(#ENV{operation, generer})]]})]
[<div class="noajax">
	(#FORMULAIRE_{#GET{operation}})
</div>]
Générer un zip directement à partir de la Zone avec son navigateur

http://zone.spip.org/trac/spip-zone/changeset/latest/ICI_LE_CHEMIN_COMPLET SUR LE ZONE?old_path=/&format=zip

récupérer un zip des diff entre 2 révisions :

http://zone.spip.org/trac/spip-zone/changeset?format=zip&new=[[jusqu'à la révision]]&old=[[depuis la révision]]&new_path=_plugins_/[[nom du plugin]]&old_path=_plugins_/[[nom du plugin]]

par exemple :

http://zone.spip.org/trac/spip-zone/changeset?format=zip&new=59775&old=56572&new_path=_plugins_/langonet&old_path=_plugins_/langonet

Debug des squelettes SPIP

Lire les articles :

Quelle est la différence entre les variables globales $spip_lang et $lang ?

$GLOBALS[’spip_lang’] est la langue en cours d’utilisation dans le traitement alors que $GLOBALS[’lang’] est la langue de la page en cours. Ce n’est donc pas bon de remplacer la première par la seconde.
Normalement chaque fois qu’on change de langue dans le traitement on est supposé revenir à la langue précédente juste après, et il semble qu’ici on oublie de revenir a en apres avoir passé $GLOBALS[’spip_lang’] en fr pour traiter la typo du titre en fr

Décoder un XML en utilisant les fonctions JSON

Il est possible de décoder très rapidement une chaine XML en tableau associatif en utilisant les fonctions JSON (decode et encode). Cela revient à écrire le code suivant :

	$objet_xml = simplexml_load_string("<dummyroot>${xml}</dummyroot>");
	$tableau = json_decode(json_encode($objet_xml), true);