Ce plugin fournit un helper XSLT permettant d'insérer un lien "S'abonner à la page" dans vos pages.
Ce lien peut-être inséré dans le rendu graphique d'un contenu, d'un service ou dans charte graphique du site.
Pour insérer un lien "Gérer mon abonnement à la page" dans le service pièces jointes d'une page:
1) surchargez dans votre charte le rendu du service: skins/[NON_SKIN]/services/web/pages/services/attach/attachments-tree_3.3.xsl
2) importez le helper XSLT plugin:page-subscription://stylesheets/helpers/page-subscribe.xsl
3) appelez le template XSLT "page-subscription" à l'endroit souhaité
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:i18n="http://apache.org/cocoon/i18n/2.1" xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper" exclude-result-prefixes="ametys"> <xsl:import href="plugin:web://pages/services/attach/attachments_tree_3.3.xsl"/> <xsl:import href="plugin:page-subscription://stylesheets/helpers/page-subscribe.xsl"/> <!-- Used by common --> <xsl:template name="common-service-head-css"> <link type="text/css" rel="stylesheet" href="{ametys:skinURL('css/services/attach.css')}" media="screen, print, handheld"/> </xsl:template> <xsl:template name="common-service-body-nonempty-content-content"> <xsl:call-template name="attachment-list"/> <xsl:call-template name="page-subscription"/> </xsl:template> </xsl:stylesheet>
Remarque
L'intitulé et l'action du lien diffèrent selon si l'utilisateur est connecté ou non, abonné ou non et si la page est "cacheable" ou non. Plusieurs cas de figure peuvent se présenter:
- si l'utilisateur n'est pas connecté, l'intitulé du lien est "Gérer mon abonnement sur la page" et l'utilisateur devra renseigner son adresse mail et ce qu'il veut faire: s'abonner ou se désabonner
- si l'utilisateur est connecté et non abonné à la page, une simple confirmation lui sera demandé. L'intitulé du lien est "S'abonner à la page" si la page est non cacheable ou "Gérer mon abonnement sur la page" si la page est cacheable.
- si l'utilisateur est connecté et abonné à la page, une simple confirmation lui sera demandé. L'intitulé du lien est "Se désabonner à la page" si la page est non cacheable ou "Gérer mon abonnement sur la page" si la page est cacheable.
Le template XSLT "page-subscription" est paramétrable pour modifier les textes par défaut (textes des liens, du formulaire, des messages de confirmation ou de succès)
Il est possible par exemple de remplacer "S'abonner à la page" par "S'abonner aux pièces jointes de la page".
<xsl:template name="page-subscription"> <xsl:with-param name="subscribe-link-content">S'abonner aux pièces jointes de la page</xsl:with-param> <xsl:with-param name="unsubscribe-link-content">Se désabonner aux pièces jointes de la page</xsl:with-param> <xsl:with-param name="subscribe-success-message"><p>Votre abonnement <b>aux pièces jointes</b> a bien été prise en compte</p></xsl:with-param> .... </xsl:template>
Attention
Si du code HTML est utilisé, il doit être échappé : <p>hello</p> => <p>hello</p>
Voir le helper XSLT pour les autres possibilités de personnalisation.
S'abonner à une page a pour effet d'enregistrer l'adresse mail de l'utilisateur qui s'abonne au niveau de la page.
Les applications dépendent des personnalisation de votre application Ametys CMS. Par défaut il est utile de s'abonner à une page uniquement si la page contient un service "Pièce jointes". En effet, à chaque ajout/modification/suppression d'une pièce jointe sur la page, l'ensemble des abonnés recevront un mail pour être avertir de la modification.
A ce jour, les pièces jointes de la page est la seule application disponible dans Ametys mais vous pouvez mettre en place d'autre cas d'utilisation.