Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
developpement_de_plugin [2010/11/24 11:06] – [Explication des champs] dany | developpement_de_plugin [2014/06/12 15:47] – [Plugin plus avancé] yann | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
====== Installation de l' | ====== Installation de l' | ||
- | + | [[Installation | |
- | Les extensions se trouvent toujours un sous-répertoire | + | |
- | + | ||
- | ===== Explication des champs ===== | + | |
- | + | ||
- | * Label, est le nom de menu de votre extension | + | |
- | * Code est utilisé pour inclure le fichier du plugin, il correspond au champs caché EXT | + | |
- | * Fichier est le chemin complet vers l' | + | |
- | * Sécurité : qui peut appeler le plugin | + | |
- | + | ||
- | + | ||
- | Pour notre extension, les valeurs suivantes sont données | + | |
- | * Label : Mon dummy à moi | + | |
- | * code : dum | + | |
- | * Fichier : dummy/ | + | |
- | * Sécurité : aucune | + | |
- | + | ||
- | Vous sauvez, cliquer sur Extension et vous verrez apparaître un nouveau plugin appelé "Mon dummy à moi"; si vous cliquez dessus, la page ext/ | + | |
===== Connection à la base de données ===== | ===== Connection à la base de données ===== | ||
Ligne 34: | Ligne 17: | ||
Donc on écrit dans dummy.php | Donc on écrit dans dummy.php | ||
+ | <code php> | ||
echo " | echo " | ||
echo "Son nom réel est " | echo "Son nom réel est " | ||
echo "Son nom est " | echo "Son nom est " | ||
+ | // Je me connecte à présent à ce dossier | ||
+ | $cn_db=new Database(dossier:: | ||
- | | + | |
+ | </ | ||
| | ||
- | |||
- | // Je me connecte à présent à ce dossier | ||
- | $cn_db=new Database(dossier:: | ||
Ligne 53: | Ligne 36: | ||
Pour avoir toutes les fiches, | Pour avoir toutes les fiches, | ||
+ | <code php> | ||
$fiche= new Fiche($cn_db); | $fiche= new Fiche($cn_db); | ||
$aFicheMateriel=$fiche-> | $aFicheMateriel=$fiche-> | ||
- | | + | </ |
Pour chaque fiche, je veux afficher son nom, son prix, le nombre d' | Pour chaque fiche, je veux afficher son nom, son prix, le nombre d' | ||
Donc cela devient | Donc cela devient | ||
+ | <code php> | ||
for ($i=0; $i < count($aFicheMateriel); | for ($i=0; $i < count($aFicheMateriel); | ||
echo "< | echo "< | ||
Ligne 70: | Ligne 53: | ||
echo "</ | echo "</ | ||
echo "< | echo "< | ||
- | echo " | + | echo "Prix achat"; |
echo $aFicheMateriel[$i]-> | echo $aFicheMateriel[$i]-> | ||
echo "</ | echo "</ | ||
Ligne 83: | Ligne 66: | ||
echo "</ | echo "</ | ||
} | } | ||
+ | </ | ||
| | ||
Ligne 95: | Ligne 78: | ||
On aura alors le code suivant, on utilisera la technique des templates | On aura alors le code suivant, on utilisera la technique des templates | ||
+ | <code php> | ||
$year=new IText(' | $year=new IText(' | ||
Ligne 103: | Ligne 86: | ||
require_once(' | require_once(' | ||
+ | </ | ||
| | ||
Ligne 109: | Ligne 92: | ||
template1.php | template1.php | ||
+ | <code php> | ||
<FORM METHOD=" | <FORM METHOD=" | ||
Ligne 121: | Ligne 104: | ||
</ | </ | ||
+ | </ | ||
Puis dans le début du fichier phpcompta/ | Puis dans le début du fichier phpcompta/ | ||
une boîte de dialogue. | une boîte de dialogue. | ||
+ | <code php> | ||
if (isset($_GET[' | if (isset($_GET[' | ||
Ligne 132: | Ligne 116: | ||
} | } | ||
+ | </ | ||
====== Plugin plus avancé ====== | ====== Plugin plus avancé ====== | ||
Ligne 144: | Ligne 128: | ||
Tout d' | Tout d' | ||
+ | <code php> | ||
// se connecter au dossier courant | // se connecter au dossier courant | ||
| | ||
+ | </ | ||
Dans extension.php on vérifie la sécurité, en ajoutez une dans l' | Dans extension.php on vérifie la sécurité, en ajoutez une dans l' | ||
- | En premier lieu, il est nécessaire | + | En premier lieu, il est nécessaire |
enregistrements. Donc on utilise un petit form | enregistrements. Donc on utilise un petit form | ||
+ | <code php> | ||
echo '< | echo '< | ||
Ligne 183: | Ligne 167: | ||
echo '</ | echo '</ | ||
+ | </ | ||
Il faut remarquer 2 choses dans ce FORM, primo, on utilise les objets HtmlInput et ISelect, secundo on doit avoir absolument en variables cachées, le n° de dossier sur lequel on est connecté, le code de l' | Il faut remarquer 2 choses dans ce FORM, primo, on utilise les objets HtmlInput et ISelect, secundo on doit avoir absolument en variables cachées, le n° de dossier sur lequel on est connecté, le code de l' | ||
Ligne 191: | Ligne 175: | ||
On choisit d' | On choisit d' | ||
+ | <code php> | ||
if ( isset($_GET[' | if ( isset($_GET[' | ||
Ligne 221: | Ligne 205: | ||
} | } | ||
+ | </ | ||
Voilà, si l' | Voilà, si l' | ||
Le code qui suit est très simplifié, il n'y a peu voire aucun contrôle ni de gestion d' | Le code qui suit est très simplifié, il n'y a peu voire aucun contrôle ni de gestion d' | ||
+ | <code php> | ||
if ( isset($_POST[' | if ( isset($_POST[' | ||
Ligne 285: | Ligne 269: | ||
} | } | ||
+ | </ | ||
Ligne 291: | Ligne 275: | ||
Voici le fichier client.txt | Voici le fichier client.txt | ||
+ | < | ||
" | " | ||
Ligne 299: | Ligne 284: | ||
" | " | ||
+ | </ | ||
Si vous vérifiez dans VW_CLIENT, vous verrez que toutes vos fiches ont été ajoutées. Dans l' | Si vous vérifiez dans VW_CLIENT, vous verrez que toutes vos fiches ont été ajoutées. Dans l' | ||
Ligne 321: | Ligne 306: | ||
dummy/ | dummy/ | ||
+ | <code javascript> | ||
function show_detail(pop_id){ | function show_detail(pop_id){ | ||
$(' | $(' | ||
Ligne 343: | Ligne 328: | ||
} | } | ||
+ | </ | ||
Ligne 349: | Ligne 334: | ||
- | + | <code php> | |
+ | <?php | ||
// Met correctement la langue | // Met correctement la langue | ||
set_language(); | set_language(); | ||
- | //retrouve le dossier courant et s'y connecte | + | //retrouve le dossier courant et s y connecte |
$gDossier=dossier:: | $gDossier=dossier:: | ||
Ligne 370: | Ligne 355: | ||
$User-> | $User-> | ||
- | /* Suivant l'action demandé, on executera tel ou tel partie de code | + | /* Suivant l action demandé, on executera tel ou tel partie de code |
/* Show the document */ | /* Show the document */ | ||
Ligne 392: | Ligne 377: | ||
echo '</ | echo '</ | ||
} | } | ||
+ | ?> | ||
+ | </ | ||
- | Les données | + | ====== |
Si votre extension nécessite de sauver ses propres données, il faut impérativement les mettres dans un schéma séparé. Prévoyez une table version, afin d' | Si votre extension nécessite de sauver ses propres données, il faut impérativement les mettres dans un schéma séparé. Prévoyez une table version, afin d' |