Categories > OpenTBS with ODT >

[fr] Référence des champs personnalisée

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: roha69
Date: 2014-04-22
Time: 14:44

[fr] Référence des champs personnalisée

Bonjour,

J'aimerais savoir si je peux remplacer
onshow
par
zone
afin de le rendre plus lisible et moins informaticiens à mes clients
car ce sont eux qui prépare les modèles.

Merci de votre aide 
By: Skrol29
Date: 2014-04-22
Time: 18:41

Re: [fr] Référence des champs personnalisée

Bonjour,

Non, ces mot-clés sont en dur dans TBS.
Par contre tu peux intervenir avant la commande Show() pour remplacer tous les "[zone ", "[zone." et "[zone;" par leur correspondance en "[onshow".
By: roha69
Date: 2014-04-22
Time: 19:21

Re: [fr] Référence des champs personnalisée

Comment puis-je intervenir ? Peux tu me montrer un exemple stp ?

Merci de ta rapidité impressionnante ^^
By: Skrol29
Date: 2014-04-22
Time: 23:45

Re: [fr] Référence des champs personnalisée

Si les balises [zone] ne sont que des champs et pas de blocs, tu peux faire plus propre en appelant MergeField() :

(non testé)
$TBS->MergeField('zone', $TBS->VarRef);
$TBS->Show(OPENTBS_FILE, $output_file_name);

Sinon voici une intervention pour renommer les balises : (pas propre mais devrait marcher)
$TBS->Source = str_replace('[zone ', '[onshow ', $TBS->Source);
$TBS->Source = str_replace('[zone.', '[onshow.', $TBS->Source);
$TBS->Source = str_replace('[zone;', '[onshow;', $TBS->Source);
$TBS->Show(OPENTBS_FILE, $output_file_name);
By: roha69
Date: 2014-04-23
Time: 10:37

Re: [fr] Référence des champs personnalisée

Le renommage des balise fonctionne bien.

Est ce possible de rendre ce code moins informaticien pour les sections ?

* dans une section Open Office *
[onload;block=tbs:section;when [var.clause_1]=true]
Clause 1 : Section du document qui peut être cachée
By: Skrol29
Date: 2014-04-23
Time: 22:23

Re: [fr] Référence des champs personnalisée

> Est ce possible de rendre ce code moins informaticien pour les sections ?

Dans ces ca là, voici ce que je fais :
1) j'indique à l'utilisateur qu'il peut mettre la balise [clause_1] pour rendre une section escamotable.
2) côté PHP, je code :
$TBS->LoadTemplate(...);
$TBS->Source = str_replace('[clause_1]', '[onshow;block=tbs:section;when [var.clause_1]=1]', $TBS->Source);