- Vos propres web scripts doivent toujours figurer dans config/alfresco/site-webscripts, mais vous devriez definir votre propre package sous cette arborescence. L’exemple ici montre org/alfresco, mais vous devriez changer cela avec votre nom de package.
- Le répertoire source/web n’est pas utilisé ici, mais vous permet d’inclure des fichiers de ressources côté client comme des CSS, des fichiers javascript, ou encore des images (il n’y en a aucun dans notre exemple)
- /lib contient deux librairies liées au framework web YUI. Pour l’instant, nous allons laisser ces fichiers de côté, qui ne servent aucunement dans nos modules HelloWorld.
<webscript>
<shortname>Hello World</shortname>
<description>Displays Hello World text to the user</description>
<family>dashlet</family>
<url>/components/dashlets/hello-world</url>
HELLO
Tentons maintenant de concevoir quelque chose d’un peu plus esthétique, en utilisant les références des feuilles de style CSS de Share. On peut également définir une barre de titre pour le dashlet.
hello-world.get.html.ftl :
<div class="dashlet">
<div class="title">Hello World!</div>
<div class="detail-list-item first-item last-item">
<span>Hello</span>
</div>
</div>
On dispose désormais d’un dashlet plus stylisé, mais nous apercevons qu’il n’est pas redimensionnable. Nous allons donc à présent ajouter cette capacité au dashlet, en utilisant l’objet javascript Alfresco.widget.DashletResizer, ainsi qu’une balise
hello-world.get.html.ftl :
<script type="text/javascript">//<![CDATA[
new Alfresco.widget.DashletResizer("${args.htmlid}", "${instance.object.id}");
//]]>
</script>
<div class="dashlet">
<div class="title">Hello World!</div>
<div class="body scrollableList"
<#if args.height??>style="height: ${args.height}px;"</#if>
>
<div class="detail-list-item first-item last-item">
<span>Hello</span>
</div>
</div>
</div>
Le résultat est bien là :
Internationalisation du webscript de presentation :
Nous devons produire un dernier effort pour internationaliser le dashlet. Par exemple, on souhaiterait traduire le titre et le message de celui-ci dans différentes langues.
Pour parvenir à cela, il nous faut modifier légèrement le template freemarker, et créer les fichiers de traduction (message bundles).
<script type="text/javascript">//<![CDATA[
new Alfresco.widget.DashletResizer("${args.htmlid}", "${instance.object.id}");
//]]>
</script>
<div class="dashlet">
<div class="title">${msg("header")}</div>
<div class="body scrollableList"
<#if args.height??>style="height: ${args.height}px;"</#if>
>
<div class="detail-list-item first-item last-item">
<span>${msg("label.hello")}</span>
</div>
</div>
</div>
hello-world.get_fr.properties :
header=Bonjour le monde !
label.hello=Bonjour
header=Hello world !
label.hello=Hello
Aucun commentaire:
Enregistrer un commentaire