Le module **unicaen/renderer** est en charge du stockage des templates et des macros associées.
Ainsi que les contenus générés à partir des templates et macros.
Ainsi que les rendus générés à partir des templates et macros.
Le module fournit un menu dans Administration > Contenu permettant d'accéder aux instances créées : Macros, Templates et Contenu.
Le module fournit un menu dans Administration > Contenus permettant d'accéder aux instances créées : Macros, Templates et Rendus.
Dans ces menus, il est possible de gérer ceux-ci.
Dépendances
...
...
@@ -20,7 +20,7 @@ Description du fonctionnement
Les macros
----------
Les macros reposent sur un code unique permettant au service **ContenuService** de les substituer plus tard dans le texte.
Les macros reposent sur un code unique permettant au service **RenduService** de les substituer plus tard dans le texte.
Les macros font référence à :
- une **variable** qui doit être passé au préalable dans un tableau
- une **méthode** (retournant une chaine de caratères) que doit possèder cette variable.
...
...
@@ -28,19 +28,21 @@ Les macros font référence à :
Les templates
-------------
Les templates stockent les textes avec macros qui seront transformés en contenu.
Les templates stockent les textes avec macros qui seront transformés en rendu.
On retrouve trois blocs de textes :
- la partie **sujet** pour le sujet du courrier ou le titre d'un document (et le nom du fichier)
- la partie **corps** pour le corps du contenu
- la partie **css** qui est fcaultive qui correpond à un morceau de css qui est apposé au contenu généré
- la partie **corps** pour le corps du rendu
- la partie **css** qui est fcaultive qui correpond à un morceau de css qui est apposé au rendu généré
La génération de contenus
La génération de rendus
-------------------------
La génération passe par l'utilisation de la méthode `generateContenu(Template|string, array)` qui prend en argument :
1. un template ou le code d'un template
La génération passe par l'utilisation de la méthode `generateRenduByTemplate(Template, array)` qui prend en argument :
1. un template
2. un tableau de variables utilisés par les macros
Alternativement, la fonction `generateRenduByTemplateCode(string, array)` permet la génération avec seulement le code du template et renvoi une exception si le code n'est associé à aucun template.
L'utilisation du contenu peut être fait directement via l'usage des accésseurs de `Contenu` que cela soit pour : un affichage directe, un export PDF ou la génération d'un courrier électronique.
L'utilisation du rendu peut être fait directement via l'usage des accésseurs de `Rendu` que cela soit pour : un affichage directe, un export PDF ou la génération d'un courrier électronique.
```phtml
<dl>
<dt> Sujet </dt>
<dd> <?php echo $contenu->getSujet(); ?> </dd>
<dd> <?php echo $rendu->getSujet(); ?> </dd>
<dt> Sujet </dt>
<dd> <?php echo $contenu->getCorps(); ?> </dd>
<dd> <?php echo $rendu->getCorps(); ?> </dd>
</dl>
```
***Remarque 1 !!!*** Les contenus générés sont sauvegardés en base de données.
***Remarque 1 !!!*** Les rendus générés sont sauvegardés en base de données.
***Remarque 2 !!!*** La génération d'URLs, passant par l'appel d'helpers particuliers, la méthode la plus simple est de fournir un service générant celles-ci.
...
...
@@ -74,12 +76,12 @@ Aides de vue founies
```phpregexp
'view_helpers' => [
'invokables' => [
'contenu' => ContenuViewHelper::class,
'rendu' => RenduViewHelper::class,
],
],
```
`$this->contenu($monContenu)` : Affiche un contenu généré avec description à gauche et texte générée à droite.
`$this->rendu($monRendu)` : Affiche un rendu généré avec description à gauche et texte générée à droite.
Configuration
=============
...
...
@@ -113,7 +115,7 @@ Tables pour les données du modules
| document_corps | text | true | false | template de l'élément 'corps' |
| document_css | text | false | false | css associé au template |
3.**unicaen_renderer_contenu** : table stockant les contenus générés
3.**unicaen_renderer_rendu** : table stockant les rendus générés