Ezpublish : mettre en place un 'disclaimer' (partie 2)
Par Alex SEBBANE le jeudi, juin 2 2011, 15:07 - EzPublish
le dernier nous a permis de faire un état des lieux : pour mettre en place cette fonctionnalité, modifier le kernel est nécessaire.
je vous propose donc un patch fait avec l'aide d'EzSystems : https://github.com/alexsebbane/ezpublish/commit/868a28e31aa2a0aed0662080f4a41ca2fa5af14c
Ce patch n'est pas encore inclus à eZPublish : attention, si votre site est sous support , vous ne devez en aucun cas utilisé ce patch.
Sachant qu'un disclaimer s'affiche si l'internaute se trouve dnas une arborescence dont le noeud pare nt est en relation avec un disclaimer. il faudra donc pour un noeud : savoir si un disclaimer s'applique puis si tel est le cas l'afficher.
Dès lors, il ne reste plus qu'à définir un type de contenu 'disclaimer' (titre, texte,libelle de validation du disclaimer et libelle d'annulation du disclaimer ) et inclure un template dans le pagelayout , le role de ce template étant de verifier et de controler l'affichage d'un disclaimer.
vous trouverez ci dessous le template de verification et le template de vue pour afficher un disclaimer.
{else}
<script type="text/javascript"> {literal}{{/literal} document.cookie='test_cook=oui;path=/'; if (document.cookie.indexOf('test_cook')<=-1){literal}{{/literal} {literal}}{/literal} else {literal}{{/literal} function visite() {literal}{{/literal} if(document.getElementById) {literal}{{/literal} document.getElementById("bloc-disclaimer").style.display='none' {literal}}{/literal} {literal}}{/literal} document.write("<div id='bloc-disclaimer' style='text-align:left;'>"); document.write("<div style='position:absolute;top:0;left:0;z-index:1000;width:100%;height:1024px;background-color:#F2F2F2;filter:alpha(opacity=95);-moz-opacity:0.90;opacity:0.90;text-align:center;line-height: normal ; clear: both;'>"); document.write("</div>"); document.write("<div style='position:absolute;z-index:1001;width:100%;text-align:center; clear: both;'>"); document.write("<div style='width:900px;margin-left:auto;margin-right:auto;margin-top:5px;border:4px #F2F2F2 solid;padding:10px;background-color:#FFFFFF;font-family:Verdana,Arial,Geneva,Helvetica,sans-serif;font-size:13px;'>"); document.write("<br /><span style='font-size:16px;margin:0px;font-variant:small-caps;font-weight:900;'><h1 style='font-size:16px;margin:0px;font-variant:small-caps;font-weight:900;'>{$node.data_map.titre.content}</h1></span><br />"); document.write("<span style='line-height:15px;'>{$node.data_map.contenu.content.output.output_text|wash('javascript')}</span>"); document.write("<br /><br />"); document.write("<center>"); document.write("<a href='#' onclick='visite();return(false)' style='background:#F2F2F2;color:#FFFFFF;font-size:11px;padding:10px;text-decoration:none;font-weight:900' >{$node.data_map.libelle_ok.content}</a>"); document.write(" "); document.write("<a href='{'/'|ezurl(no)}' style='background:#F2F2F2;color:#FFFFFF;font-size:11px;padding:10px;text-decoration:none;font-weight:900'>{$node.data_map.libelle_nok.content}</a></center>"); document.write("<br />"); document.write("</div>"); document.write("</div>"); document.write("</div>"); {literal}}{/literal} {literal}}{/literal} else {literal}{{/literal} {literal}}{/literal} </script>
