====== Intégration dans d'autres applications ====== ===== Plugin Dokuwiki ===== [[http://wiki.splitbrain.org/wiki:dokuwiki|Dokuwiki]] permet de construire rapidement un [[http://fr.wikipedia.org/wiki/Wiki|wiki]]. Les widgets pxxo peuvent désormais s'y intégrer à l'aide d'[[:fr:dokuwiki|un simple plugin]]. ===== Plugin Spip ===== [[http://www.spip.net/|SPIP]] est un CMS simple et populaire. Les widgets pxxo peuvent désormais s'y intégrer à l'aide d'un simple plugin. [[spip|Ce tutorial]] explique comment intégrer un widget pxxo dans un plugin [[http://www.spip.net/|spip]]. Pratique pour afficher le widget entre deux paragraphes d'un article spip. ===== Dans une application non pxxo ===== Les widgets pxxo garderont toujours l'objectif de s'intégrer facilement dans n'importe quelle application php. En effet, Pxxo se veut être un framework non intrusif. Pxxo ne contraint pas l'application à dépendre du cadre qu'il s'impose. Voici comment procéder pour instancier un widget pxxo dans votre application php hétérogène : - Régler les include_path de php pour que les chemins de Pxxo et de ses widgets soient connus depuis votre application : ini_set('include_path', dirname(__FILE__).'/lib/pear'.PATH_SEPARATOR.ini_get('include_path')); (je suppose ici qu'un dépôt PEAR contenant Pxxo et ses widgets est installé dans ''lib/pear'') - Instancier le widget en réglant explicitement les variables de configuration puis exécutez le (méthode main) : require_once 'Pxxo/Widget/HelloWorld.php'; $params = array(); $params['ResourcePath'] = rtrim(dirname(__FILE__), DIRECTORY_SEPARATOR).'/rsc'; $params['ResourceURL'] = rtrim(dirname($_SERVER['PHP_SELF']), DIRECTORY_SEPARATOR).'/rsc'; $params['Lang'] = 'fr'; $params['CachePath'] = dirname(__FILE__).'/tmp'; $params['CacheTime'] = 4000; $o = new Pxxo_Widget_HelloWorld($params); $o->main(); __Remarque :__ dans une application full pxxo, on retrouve souvent ces variables dans Pxxo_Config. - Créez les répertoires nécessaires et donnez les droits d'écriture au serveur web :mkdir rsc chmod a+w rsc mkdir tmp chmod a+w tmp - Affichez le widget la où vous le souhaitez dans votre page html : HelloWorld test dumphead(); ?> dump(); ?> **''dumphead''** permet d'insérer les feuilles de styles et les fichiers javascript (doit être impérativement appelé dans la balise '''')\\ **''dump''** permet d'insérer le code xhtml du widget là où vous le souhaitez dans le corps de votre page.