Widgets : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Les pages)
Ligne 41 : Ligne 41 :
  
 
=== Les pages ===
 
=== Les pages ===
 +
 +
La page est le point de départ d'une interface. C'est elle qui contient tous les éléments.
 +
 +
On définit une page grâce à l'objet Widget_BabPage.
 +
 +
La page créée est insérée dans le corps du site Ovidentia : le bandeau et les sections du site apparaîtront autour de la page.
  
 
<source lang="php">
 
<source lang="php">
$page = $W->BabPage('widgets_demo');
+
$page = $W->BabPage();
$page->setLayout($W->VBoxLayout());
+
 
</source>
 
</source>
  
 +
Définir la mise en page (positionnement des éléments) :
 +
 +
# La méthode VBoxLayout() définit une mise en page verticale.
 +
# La méthode HBoxLayout() définit une mise en page horizontale.
 +
# La méthode FlowLayout() définit une mise en page horizontale en 'écoulement' : les éléments reviennent à la ligne automatiquement.
 +
 +
<source lang="php">
 +
$page = $W->BabPage();
 +
$page->setLayout($W->VBoxLayout());
 +
</source>
  
 
=== Exemples ===
 
=== Exemples ===

Version du 19 juin 2009 à 14:47


Cette librairie facilite la création des interfaces en proposant des objets associés à chaque élément connu d'une page Web : champ de formulaire, tableau, lien avec puce, popup calendrier de sélection d'un jour...

Le chemin complet de la fonctionnalité
Widgets
Documentation du parent
Pas de parent
Module
widgets
version du module
0.1.9


getDescription

Méthode commune à toutes les librairies pour obtenir la description de l'objet partagé.

$instance = bab_functionality::get('Widgets');

$description = $instance->getDescription();

Initialisation

Fichier addonini.php

Pour accéder aux widgets dans un module d'Ovidentia, il est nécessaire d'installer la librairie Widgets et le module jQuery.

De manière a éviter tout problème ces pré-requis devront être signalés dans le fichier addonini.php du module en y ajoutant quelques lignes :

<source lang="ini">

<?php/*

[general] name="my_addon" . . .

[addons] widgets="0.2.0"

[functionalities] jquery="Available"

  • /?>

</source>

Utilisation de la librairie

Pour utiliser la librairie dans un code PHP, il est nécessaire d'utiliser la fonction bab_functionality(). Il est conseillé d'inclure les styles utiles à quelques widgets :

<source lang="php"> $W = bab_functionality::get('Widgets'); $W->includeCss(); </source>

Les pages

La page est le point de départ d'une interface. C'est elle qui contient tous les éléments.

On définit une page grâce à l'objet Widget_BabPage.

La page créée est insérée dans le corps du site Ovidentia : le bandeau et les sections du site apparaîtront autour de la page.

<source lang="php"> $page = $W->BabPage(); </source>

Définir la mise en page (positionnement des éléments) :

  1. La méthode VBoxLayout() définit une mise en page verticale.
  2. La méthode HBoxLayout() définit une mise en page horizontale.
  3. La méthode FlowLayout() définit une mise en page horizontale en 'écoulement' : les éléments reviennent à la ligne automatiquement.

<source lang="php"> $page = $W->BabPage(); $page->setLayout($W->VBoxLayout()); </source>

Exemples

Hello world !

Commençons par un exemple simple qui se contentera d'afficher le texte "Hello world !" sur une page. L'exemple contient un certain nombre d'opérations qui seront nécessaires pour toutes les pages utilisant les widgets.

<source lang="php"> // Ici on récupère l'objet Func_Widgets qui servira notamment à créer tous les widgets et layouts $W = bab_functionality::get('Widgets');

// On crée une page, qui sera le container principal. $page = $W->BabPage();

// On associe à la page une mise en page (layout) verticale : les éléments qu'on y ajoutera seront disposés les uns sous les autres. $page->setLayout($W->VBoxLayout());

// Création d'un simple texte (Label) $helloLabel = $W->Label('Hello world !');

// On ajoute ce texte à la page. $page->addItem($helloLabel);

// C'est fini, on affiche la page. $page->displayHtml(); </source>