developpement_de_plugin

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [2011/02/25 23:13] danydeveloppement_de_plugin [2014/06/12 15:47] – [Plugin plus avancé] yann
Ligne 17: Ligne 17:
  Donc on écrit dans dummy.php  Donc on écrit dans dummy.php
    
-<code>+<code php>
   echo "L' identifiant de mon dossier est ".dossier::id()."<br>";   echo "L' identifiant de mon dossier est ".dossier::id()."<br>";
   echo "Son nom réel est ".DOMAIN."dossier".dossier::id()."<br>";   echo "Son nom réel est ".DOMAIN."dossier".dossier::id()."<br>";
   echo "Son nom est ".dossier::name()."<br>";   echo "Son nom est ".dossier::name()."<br>";
 + // Je me connecte à présent à ce dossier
 +  $cn_db=new Database(dossier::id());
  
 + 
 </code> </code>
  
      
- 
-  // Je me connecte à présent à ce dossier 
-  $cn_db=new Database(dossier::id()); 
  
    
Ligne 36: 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->getByDef(7);    $aFicheMateriel=$fiche->getByDef(7); 
  
-  +</code>
  
  Pour chaque fiche, je veux afficher son nom, son prix, le nombre d'années à amortir et la date d'achat. Je peux en trouver les valeurs dans la table attr_def ou le fichier constant.php,  Pour chaque fiche, je veux afficher son nom, son prix, le nombre d'années à amortir et la date d'achat. Je peux en trouver les valeurs dans la table attr_def ou le fichier constant.php,
    
  Donc cela devient  Donc cela devient
 +<code php>
   for ($i=0; $i < count($aFicheMateriel);$i++) {   for ($i=0; $i < count($aFicheMateriel);$i++) {
     echo "<ul>     echo "<ul>
Ligne 53: Ligne 53:
      echo "</li>";      echo "</li>";
      echo "<li> ";      echo "<li> ";
-     echo "Prix d'achat";+     echo "Prix achat";
      echo $aFicheMateriel[$i]->strAttribut(ATTR_DEF_PRIX_ACHAT);      echo $aFicheMateriel[$i]->strAttribut(ATTR_DEF_PRIX_ACHAT);
      echo "</li>";      echo "</li>";
Ligne 66: Ligne 66:
      echo "</ul>      echo "</ul>
   }   }
 +</code>
      
  
Ligne 78: 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');   $year=new IText('year');
  
Ligne 86: Ligne 86:
  
   require_once('template1.php');   require_once('template1.php');
 +</code>
      
  
Ligne 92: Ligne 92:
  
   template1.php   template1.php
 +<code php>
   <FORM METHOD="GET" ACTION="extension.php">   <FORM METHOD="GET" ACTION="extension.php">
  
Ligne 104: Ligne 104:
  
   </form>   </form>
 +</code>
    
 Puis dans le début du fichier phpcompta/include/ext/dummy/dummy.php, on ajoutera un test pour savoir un FORM a été soumis et on affichera Puis dans le début du fichier phpcompta/include/ext/dummy/dummy.php, on ajoutera un test pour savoir un FORM a été soumis et on affichera
 une boîte de dialogue. une boîte de dialogue.
  
 +<code php>
  if (isset($_GET['year_left'])){  if (isset($_GET['year_left'])){
  
Ligne 115: Ligne 116:
  }  }
  
 +</code>
 ====== Plugin plus avancé ====== ====== Plugin plus avancé ======
  
Ligne 127: Ligne 128:
 Tout d'abord, il faut se connecter à la base de données Tout d'abord, il faut se connecter à la base de données
  
-<code>+<code php>
  // se connecter au dossier courant  // se connecter au dossier courant
  
Ligne 135: Ligne 136:
 Dans extension.php on vérifie la sécurité, en ajoutez une dans l'extension n'est en général pas nécessaire mais vous pourriez avoir votre propre système de sécurité si votre extension est fort complexe Dans extension.php on vérifie la sécurité, en ajoutez une dans l'extension n'est en général pas nécessaire mais vous pourriez avoir votre propre système de sécurité si votre extension est fort complexe
  
-En premier lieu, il est nécessaire  de choisir dans quel catégorie de fiche je veux intégrer les+En premier lieu, il est nécessaire  de choisir dans quelle catégorie de fiche je veux intégrer les
 enregistrements. Donc on utilise un petit form enregistrements. Donc on utilise un petit form
-<code>+<code php>
  
  echo '<form METHOD="get" action="extension.php">';  echo '<form METHOD="get" action="extension.php">';
Ligne 174: Ligne 175:
  
 On choisit d'afficher les propriétés avant de confirmer l'import On choisit d'afficher les propriétés avant de confirmer l'import
-<code>+<code php>
  if ( isset($_GET['display_prop'])){  if ( isset($_GET['display_prop'])){
  
Ligne 208: Ligne 209:
  
 Le code qui suit est très simplifié, il n'y a peu voire aucun contrôle ni de gestion d'erreur. Le code qui suit est très simplifié, il n'y a peu voire aucun contrôle ni de gestion d'erreur.
-<code>+<code php>
  if ( isset($_POST['start_import'])){  if ( isset($_POST['start_import'])){
  
Ligne 274: Ligne 275:
 Voici le fichier client.txt Voici le fichier client.txt
  
 +<code>
  "Nom client1","Prénom","C1","Rue de la boite,55"  "Nom client1","Prénom","C1","Rue de la boite,55"
  
Ligne 282: Ligne 284:
  "Nom client4","Prénom","C4","Rue de la couleur,55"  "Nom client4","Prénom","C4","Rue de la couleur,55"
  
 +</code>
 Si vous vérifiez dans VW_CLIENT, vous verrez que toutes vos fiches ont été ajoutées. Dans l'exemple, il fatraitement d'erreur plus élaboré; le fait que si une fiche echoue , l'opération est annulée (Database::rollback) ou alors création d'un fichier avec les enregistrements "ratés"... Si vous vérifiez dans VW_CLIENT, vous verrez que toutes vos fiches ont été ajoutées. Dans l'exemple, il fatraitement d'erreur plus élaboré; le fait que si une fiche echoue , l'opération est annulée (Database::rollback) ou alors création d'un fichier avec les enregistrements "ratés"...
  
Ligne 304: Ligne 306:
  
 dummy/javascript.js, vous avez  dummy/javascript.js, vous avez 
-<code>+<code javascript>
 function show_detail(pop_id){ function show_detail(pop_id){
     $('detail_invoice_content').innerHTML=loading();     $('detail_invoice_content').innerHTML=loading();
Ligne 332: Ligne 334:
  
    
-<code> +<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::id(); $gDossier=dossier::id();
Ligne 353: Ligne 355:
 $User->Check(); $User->Check();
  
-/* 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 375: Ligne 377:
     echo '</answer>';     echo '</answer>';
 } }
 +?>
 </code> </code>
    
  • developpement_de_plugin.txt
  • Dernière modification : 2015/01/26 00:58
  • de dany