Difference between revisions of "Développement de scripts"
m |
m |
||
Line 14: | Line 14: | ||
Une fois le script renommé, donnez lui les droits en exécution. | Une fois le script renommé, donnez lui les droits en exécution. | ||
Sous Linux, cela peut se faire par la commande: | Sous Linux, cela peut se faire par la commande: | ||
− | < | + | <source lang="bash"> |
cd scripts/monrep; | cd scripts/monrep; | ||
chmod a+rx monscript.php | chmod a+rx monscript.php | ||
− | </ | + | </source> |
Ensuite, lancez le pour voir si vous pouvez exécuter un script en mode ligne de commande. Pour cela, taper: | Ensuite, lancez le pour voir si vous pouvez exécuter un script en mode ligne de commande. Pour cela, taper: | ||
− | < | + | <source lang="bash"> |
+ | php-cli ./monscript.php | ||
+ | </source> | ||
ou | ou | ||
− | php ./monscript.php</ | + | <source lang="bash"> |
+ | php ./monscript.php | ||
+ | </source> | ||
Vous devriez obtenir le résultat suivant: | Vous devriez obtenir le résultat suivant: | ||
− | < | + | <source lang="bash"> |
Usage: monscript.php param1 param2 ... | Usage: monscript.php param1 param2 ... | ||
− | </ | + | </source> |
== Etape 2 - Edition du code du script == | == Etape 2 - Edition du code du script == | ||
Modifier le contenu du script pour réaliser les opérations qui vous intéressent. | Modifier le contenu du script pour réaliser les opérations qui vous intéressent. | ||
Tout le code qui se trouve entre les balises | Tout le code qui se trouve entre les balises | ||
− | < | + | <source lang="php">// ---------- START OF YOUR CODE HERE</source> |
et | et | ||
− | < | + | <source lang="php">// ---------- END OY YOUR CODE</source> |
est fourni à titre d'exemple. | est fourni à titre d'exemple. | ||
Vous pouvez le supprimer et y mettre le code qui vous intéresse. | Vous pouvez le supprimer et y mettre le code qui vous intéresse. | ||
Line 40: | Line 44: | ||
=== Exemple insertion d'un produit === | === Exemple insertion d'un produit === | ||
Par exemple pour insérer un produit dans la base dolibarr, vous pouvez y placer le code suivant: | Par exemple pour insérer un produit dans la base dolibarr, vous pouvez y placer le code suivant: | ||
− | < | + | <source lang="php"> |
// Inclusion classe métier utilisateur et product | // Inclusion classe métier utilisateur et product | ||
require_once(DOL_DOCUMENT_ROOT."/user.class.php"); | require_once(DOL_DOCUMENT_ROOT."/user.class.php"); | ||
Line 73: | Line 77: | ||
if ($idproduct < 0) dol_print_error($db,$myproduct->error); | if ($idproduct < 0) dol_print_error($db,$myproduct->error); | ||
else print "Produit $idproduct cree.\n"; | else print "Produit $idproduct cree.\n"; | ||
− | </ | + | </source> |
Revision as of 02:18, 23 August 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";