Carnet Wiki

PortageV2

Version 3 — January 2009 JLuc

Trucs utiles pour le portage d’un plugin d’une version de SPIP < V2 vers la V2

-------
définir une fonction qui teste la version

Cette fonction permet d’implémenter les fonctionnalités critiques de 2 manières différentes selon la version du core de SPIP. On peut ainsi garder le plugin compatible avec plusieurs versions de SPIP (mais cela allourdit le code).

Regarder par exemple la fonction du plugin spipliste : spiplistes_spip_est_inferieur_193()

-------
debut_page

pour thelia il a fallu remplacer :

debut_page(_T("spip_thelia:catalogue_thelia"), "Catalogue Télia", "Catalogue Télia");

par

$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page(_T("spip_thelia:catalogue_thelia"),_T("spip_thelia:catalogue_thelia"),_T("spip_thelia:catalogue_thelia"));

-------
generer_url_xxxx

Remplacer remplacer les generer_url_xxxx(’...’) par generer_url_entite(’xxxx’,...), idem dans les squelettes :
|generer_url_site{...} => |generer_url_entite{site, ...}

Pour un code portable, on teste la version, ce qui fait que pour un portage compatible :
$url = generer_url_article($row['id_article']);
devient :

$url = ( spiplistes_spip_est_inferieur_193()) ? 
                  generer_url_article($row['id_article']) : generer_url_entite($row['id_article'], 'article');