Difference between revisions of "Développement de scripts"
Line 70: | Line 70: | ||
// Gestion erreur | // Gestion erreur | ||
− | if ($idproduct < 0) | + | if ($idproduct < 0) dol_print_error($db,$myproduct->error); |
else print "Produit $idproduct cree.\n"; | else print "Produit $idproduct cree.\n"; | ||
</pre> | </pre> |
Revision as of 10:13, 3 July 2009
Localisation
Les scripts en ligne de commande de Dolibarr doivent être situés dans le répertoire scripts de Dolibarr. Les scripts sont ensuite répartis dans des sous-répertoires en fonction de leur vocation. Un certain nombre de scripts est donc fourni en standard.
Développer un nouveau script
Les scripts étant souvent réalisés pour un besoin spécifique, il y a de fortes chances que vous ne trouviez pas celui qui vous intéresse. Dans ce cas, nous allons vous expliquer comment développer votre propre script.
Etape 1 - Création du squelette du script
La première étape est de reprendre le squelette de script disponible en dev/skeletons/skeleton_scripts.php et de le recopier en renommant, ce script dans le répertoire scripts/monrep/monscript.php
Une fois le script renommé, donnez lui les droits en exécution. Sous Linux, cela peut se faire par la commande:
cd scripts/monrep; chmod a+rx monscript.php
Ensuite, lancez le pour voir si vous pouvez exécuter un script en mode ligne de commande. Pour cela, taper:
php-cli ./monscript.php ou php ./monscript.php
Vous devriez obtenir le résultat suivant:
Usage: monscript.php param1 param2 ...
Etape 2 - Edition du code du script
Modifier le contenu du script pour réaliser les opérations qui vous intéressent. Tout le code qui se trouve entre les balises
// ---------- START OF YOUR CODE HERE
et
// ---------- END OY YOUR CODE
est fourni à titre d'exemple. Vous pouvez le supprimer et y mettre le code qui vous intéresse. Notez que dans cette portion, vous pouvez utiliser la variable $db qui est la ressource d'accès à la base Dolibarr et qui est déjà initialisée. L'objet $conf qui contient la configuration Dolibarr est également disponible.
Exemple insertion d'un produit
Par exemple pour insérer un produit dans la base dolibarr, vous pouvez y placer le code suivant:
// Inclusion classe métier utilisateur et product require_once(DOL_DOCUMENT_ROOT."/user.class.php"); require_once(DOL_DOCUMENT_ROOT."/product.class.php"); // Création d'une instance utilisateur $user=new User($db); // Création d'une instance de product $myproduct=new Product($db); // Définition des propriétés de l'instance utilisateur $user->id = 0; // Définition des propriétés de l'instance product $myproduct->ref = '1234'; $myproduct->libelle = 'libelle'; $myproduct->price = '10'; $myproduct->price_base_type = 'HT'; $myproduct->tva_tx = '19.6'; $myproduct->type = 0; $myproduct->status = 1; $myproduct->description = 'Description'; $myproduct->note = 'Note'; $myproduct->weight = 10; $myproduct->weight_units = 0; // Création du produit en base $idproduct = $myproduct->create($user); // Gestion erreur if ($idproduct < 0) dol_print_error($db,$myproduct->error); else print "Produit $idproduct cree.\n";