14.13 Paramétrage du pied de documents
Une représentation standard HTML du document possède trois parties :
- une entête (titre et menu)
- le contenu (attributs affichés)
- un pied de document (footer) - vide par défaut
Le pied de document (document footer) est personnalisable en ajoutant une ou plusieurs zone[zones].
La méthode :
DocumentUserInterface::addDocumentFooterZone(string $index, string $zone, bool $edit)
permet d'ajouter ou de remplacer une zone dans le pied de document. Ce paramétrage est effectif pour les interfaces HTML standards de consultation et de modification du document fournies par Dynacase Core.
Les paramètres de cette méthode sont :
- Une chaîne de caractères représentant un nom de référence pour la zone.
- Une chaîne de caractères représentant la définition de la zone
- Un booléen permettant de savoir si la zone déclarer doit être utilisée en mode
de consultation (paramètre à
false
) ou en mode d'édition : (paramètre àtrue
).
Cette initialisation peut être faite via le fichier de configuration de l'application ou via un script wsh.
14.13.1 Exemple de déclaration de pied de document
Fichier MONAPPLICATION_init.php.in
$app_const = array( "INIT" => "yes", "VERSION" => "@VERSION@-@RELEASE@" ); //Visible en mode de consultation sur tous les documents DocumentUserInterface::addDocumentFooterZone( "MYCUSTOMFOOT", "MONAPPLICATION:ZONE_MONAPPLICATION?id=[id]", false); // View Document Footer //Visible en mode d'édition sur tous les documents. DocumentUserInterface::addDocumentFooterZone( "MYCUSTOMFOOT", "MONAPPLICATION:ZONE_MONAPPLICATION?id=[id]&type=form", true); // Form Document Footer
Cela ajoute la zone de l'application MONAPPLICATION, s'appelant ZONE_MONAPPLICATION dans le pied de document sur l'interface de consultation et de modification.
Des paramètres peuvent être ajoutés pour la zone afin de rendre le contrôleur plus générique.
L'identifiant du document est indiqué avec la variable :
-
[id]
: L'identifiant du document
Une fois les zones ainsi déclarées, elles seront disponibles, et affichées sur tous les documents. Le contrôleur de la zone peut rendre conditionnel l'affichage en fonction des arguments qui lui sont fournis.
Si plusieurs zones sont déclarées, elles sont générées les unes à la suite des autres dans l'ordre de leurs déclarations.
14.13.2 Exemple pied de document
Cet exemple montre comment réaliser un exemple complet de pied de document avec le contrôleur, le template ainsi que l'ajout d'une feuille de style et de javascript.
Fichier : MONAPPLICATION/zone_application.php (le contrôleur)
function zone_monapplication(Action &$action) { $docid=$action->getArgument("id"); $type=$action->getArgument("type", "view"); $action->parent->AddCssRef("MONAPPLICATION/Layout/zone_monapplication.css"); $action->parent->AddJsRef("MONAPPLICATION/Layout/zone_monapplication.js"); if ($type === "form") { $action->lay->eset("MYKEY", "Formulaire à remplir"); } else { $action->lay->set("MYKEY", "© My company"); } }
Fichier : MONAPPLICATION/Layout/zone_application.xml (le template)
<footer class="myFoot"> [MYKEY] </footer>
Fichier : MONAPPLICATION/Layout/zone_application.css (la feuille de style)
footer.myFoot { background : yellow; text-align:center; }
Fichier : MONAPPLICATION/Layout/zone_application.js (le code javascript)
console.log("I'm here");
La définition d'un pied de document peut aussi être construite avec un template vide afin de réaliser une simple opération d'ajout de css ou de javascript.