Intégration dans d'autres applications

Plugin Dokuwiki

Dokuwiki permet de construire rapidement un wiki. Les widgets pxxo peuvent désormais s'y intégrer à l'aide d'un simple plugin.

Plugin Spip

SPIP est un CMS simple et populaire. Les widgets pxxo peuvent désormais s'y intégrer à l'aide d'un simple plugin. Ce tutorial explique comment intégrer un widget pxxo dans un plugin 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 :

  1. 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)

  2. 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 la plus-part de ces variables dans Pxxo_Registry.

  3. 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
  4. Affichez le widget là où vous le souhaitez dans votre page html :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
           "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>HelloWorld test</title>
        <?php $obj->dumphead(); ?>
      </head>
      <body>
        <?php $obj->dump(); ?>
      </body>
    </html>

    dumphead permet d'insérer les feuilles de styles et les fichiers javascript (doit être impérativement appelé dans la balise <head>)
    dump permet d'insérer le code xhtml du widget là où vous le souhaitez dans le corps de votre page.

fr/integrations.txt · Dernière modification: 2009/06/19 09:19 (édition externe)
 
 

©2003-2010 Pxxo

Partenaires : INIST-CNRS | Sourcesup | Web2.0 chat server | Micropolia | Jeux gratuits | Areno