6.2 Principe d'une vue de document
Les vues de documents permettent de définir la représentation d'un document.
Une vue de document est composée de :
- un fichier de template, définissant la structure,
- un contrôleur de vue permettant de remplir le template. Ce contrôleur est une méthode de la famille qui complète le template.
- Un masque déterminant les visibilités (facultatif).
6.2.1 Syntaxe d'une zone documentaire
Pour référencer une zone documentaire, la syntaxe suivante est utilisée :
APP:DOCVIEW:OPTIONS:TRANSFORMATION
, avec les correspondances suivantes :
-
APP
(obligatoire) - Le nom de l'application dans laquelle se trouve le template.
-
DOCVIEW
(obligatoire) - La nom du template et du contrôleur à utiliser.
-
OPTIONS
(facultatif) -
Une option de représentation. ces options dépendent du type de vue :
-
TRANSFORMATION
(facultatif) -
Une transformation peut être appliquée après la composition de la vue. Cette transformation est effectuée par le module de transformation.
Il suffit d'indiquer le nom du moteur à utiliser comme
pdf
pour une transformation en PDF. La transformation n'est possible qu'avec l'optionB
(binary).
Des paramètres supplémentaires peuvent être fournis en utilisant une syntaxe
identique aux paramètres des URL. Les valeurs des paramètres doivent être
encodées comme les URL (l'utilisation de la fonction urlencode
est recommandée).
La syntaxe complète avec les paramètres est donc :
APP:DOCVIEW:OPTIONS:TRANSFORMATION?param1=valeur1[¶m=valeur]*
.
Ces paramètres supplémentaires sont accessibles depuis le contrôleur avec la
fonction dynacase getHttpVars()
.
Le couple APP:DOCVIEW
indique le template et le contrôleur à utiliser.
- Le fichier template est recherché avec la logique suivante :
- Si
DOCVIEW
ne comporte pas d'extension, alors l'extension.xml
est ajoutée. - Le fichier template est recherché par la fonction
getLayoutFile
dans le répertoireAPP/Layout
.- Le fichier est d'abord recherché avec le nom
DOCVIEW
tel qu'il est décrit - Si le fichier n'est pas trouvé, le nom en minuscule est recherché.
- Le fichier est d'abord recherché avec le nom
- Si
- Le nom de la méthode est le nom
DOCVIEW
.
Dans ce cas, la casse du nom de la méthode n'est pas prise en compte (comme pour les méthodes de PHP en général).
Exemples :
Identifiant de zone | Template valide | Contrôleur valide |
---|---|---|
FDL:EDITBODYCARD |
FDL/Layout/EDITBODYCARD.xml | ::editbodycard() |
FDL/Layout/editbodycard.xml | ::editBodyCard() | |
FDL:VIEWBODYCARD:T |
FDL/Layout/VIEWBODYCARD.xml | ::viewBodyCard() |
FDL/Layout/viewbodycard.xml | ::viewbodycard() | |
MYAPP:myview.html |
MYAPP/Layout/myview.html | ::myView() |
MYAPP:MYVIEW?extra=yes |
MYAPP/Layout/MYVIEW.xml | ::myview() |
MYAPP:mySimpleview.html |
MYAPP/Layout/mysimpleview.html | ::mySimpleView() |
6.2.2 Définition de la vue de consultation
Lors de la consultation d'un document, Dynacase génère une page html complète. Cette page est structurée comme suit :
+-------------------------------------------------+ | FDL:FDL_CARD | |-------------------------------------------------| | | | +-------------------------------------------+ | | | FDL:VIEWCARD | | | |-------------------------------------------| | | | | | | | +-------------------------------------+ | | | | | Vue de document (FDL:VIEWBODYCARD) | | | | | |-------------------------------------| | | | | | | | | | | | | | | | | | | | | | | +-------------------------------------+ | | | | | | | +-------------------------------------------+ | | | +-------------------------------------------------+
Pour plus de précisions, se reporter à la liste des Zones de référence.
La vue de consultation par défaut est la zone FDL:VIEWBODYCARD
. Elle utilise
donc le template FDL/Layout/viewbodycard.xml
et le contrôleur
Doc::viewbodycard()
.
L'url ?app=FDL&action=FDL_CARD&id=9
affiche le document avec sa vue par défaut.
Si la famille ne comporte pas de paramétrage spécifique de vue, cette url est
équivalente à ?app=FDL&action=FDL_CARD&id=9&zone=FDL:VIEWBODYCARD
6.2.2.1 Options des vues documentaires en consultation
Les options disponibles en consultation sont les suivantes :
V
-
Pour les squelettes HTML, il signifie que le document est affiché comme suit :
- inclusion des CSS systèmes Dynacase,
- pas de titre, pas d'icônes,
- affichage de la barre de menus.
T
-
Pour les squelettes HTML, il signifie que le document est affiché comme suit :
- inclusion des CSS systèmes Dynacase,
- pas de titre, pas d'icônes,
- pas de barre de menus.
U
-
Pour les squelettes HTML, il signifie que le document est affiché comme suit :
- pas d'inclusion des CSS systèmes Dynacase,
- pas de titre, pas d'icônes,
- pas de barre de menus.
S
- Signifie que la zone documentaire est autonome, qu'elle ne nécessite pas
d'encapsulation HTML. Cette option est obligatoire pour tous les
templates non HTML.
Lorsque cette option est utilisée avec un template html, la zone doit générer une page complète. B
- Pour les squelettes non HTML binaires.
Cas notamment des fichiers openDocumentText (
*.odt
). Dans ce cas le retour de la vue par la méthodeDoc::viewDoc()
est le nom d'un fichier temporaire et non le contenu comme pour les zones textuelles.
6.2.3 Définition de la vue de modification
Lors de la modification d'un document, Dynacase génère une page html complète. Cette page est structurée comme suit :
+-------------------------------------------------+ | GENERIC:GENERIC_EDIT | |-------------------------------------------------| | | | +-------------------------------------------+ | | | FDL:EDITCARD | | | |-------------------------------------------| | | | | | | | +-------------------------------------+ | | | | | Vue de document (FDL:EDITBODYCARD) | | | | | |-------------------------------------| | | | | | | | | | | | | | | | | | | | | | | +-------------------------------------+ | | | | | | | +-------------------------------------------+ | | | +-------------------------------------------------+
La vue de modification par défaut est la zone documentaire FDL:EDITBODYCARD
.
Elle utilise donc le template FDL/Layout/editbodycard.xml
et le contrôleur
Doc::editbodycard()
.
La vue de modification de document est toujours rendue encapsulée dans
FDL:EDITCARD
,elle-même rendue au sein de GENERIC:GENERIC_EDIT
. Aussi
cette vue retourne un fragment de formulaire, qui est inséré dans
le form
de la page.
6.2.3.1 Options des vues documentaires en modification
Les options disponibles en modification sont les suivantes :
S
-
Le document est affiché comme suit :
- l'entête n'est pas affiché,
- les boutons sauver et annuler ne sont pas affichés.
V
-
Le document est affiché comme pour
S
(Obsolète) utilisé pour compatibilité version précédente.
U
- Le squelette est affiché de manière brute et n'est pas encapsulé dans un formulaire.
T
-
Le document est affiché comme suit :
- l'entête n'est pas affiché,
- les boutons sauver et annuler sont affichés