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);