Menu
Ultima parte: Configurazione Server Side per il Multilingua EUCookieLaw di Diego La Monica per CMS Joomla!

Ultima parte: Configurazione Server Side per il Multilingua EUCookieLaw di Diego La Monica per CMS Joomla!

Con questo articolo concludiamo la configurazione per la versione Multilingua del Banner per l'informativa breve sui Cookie dello script di Diego La Monica.

Per chi non avesse seguito le guide precedenti di seguito elenco i vari articoli per l'eventuale approfondimento:

A completamento della configurazione dello script, questa ultima parte, oltre agli articoli dedicati ad esso, riguarda la configurazione lato server (Server Side), questo "accorgimento" è utile quando per qualche motivo Javascript risulti disabiltato e il banner non viene mostrato.

Quello che andremo a vedere in questo articolo sarà come aggiungere le definizioni (da applicare alle costanti) in versione multilingua per permettere che il banner venga mostrato anche in assenza di Javascript.

L'elenco completo di tutte le costanti Server Side sono reperibilili sul repository EuCookieLaw GitHub.

Sul repository Diego consiglia di utilizzare la costante EUCOOKIELAW_USE_DOM, impostandola come vera (true), questo perché se la libreria DOMDocument non risulta installata sul server oppure la costante è definita come false allora viene usato il motore a Espressioni Regolari, altrimenti viene usato DOMDocument.

Proseguo ora a spiegare come configurare la sezione Server Side, senza soffermarmi su quanto già visto precedentemente, ma prendendo in esame solo le modiche specifiche per il completamento della configurazione.

 

In particolare l'intervento di modifica è relativo solo ad un file, il file principale del template index.php, in alcuni casi il file principale del template potrebbe trovarsi in altra posizione (a titolo di esempio: /templates/vostrotemplate/layouts/default.php), oppure, come abbiamo visto per la configurazione su alcune installazioni su Joomla! 2.5 il file index.php della radice del sito.

Step 0 – Modifiche il file principale

Il file principale del template o della radice del sito, come già visto, veniva modificato come di seguito:

PHP Code:
  1. define('EUCOOKIELAW_DISALLOWED_DOMAINS',
  2. '.google.com;.google.it;html5shim.googlecode.com;.googleanalytics.com;.googleapis.com;.doubleclick.net;'.
  3. '.twitter.com;twitterfeed.com;.youtube-nocookie.com;.youtube.com;.vimeo.com;.facebook.net;.facebook.it;'.
  4. '.facebook.com;.linkedin.com;.instagram.com;.cdninstagram.com;.eventbrite.it;.eventbrite.com;.addtoany.com;'.
  5. '.mixpanel.com;.addthis.com;.googleadservices.com;.google-analytics.com;.googlesyndication.com');
  6.  
  7. define('EUCOOKIELAW_LOOK_IN_SCRIPTS', true);
  8. require_once dirname(__FILE__) . "/euCookie/eucookielaw-header.php";
  9. include_once dirname(__FILE__) . "/euCookie/eucookielaw-language.php";

Per consentire il funzionamento del banner anche in assenza di Javascript, occorre integrare queste definizioni con le costanti da utilizzare in condizioni di Server Side.

Nello specifico andremo a modificare come di seguito aggiungendo le costanti e le definizioni mancanti relativamente alla versione multilingua:

PHP Code:
  1. define('EUCOOKIELAW_USE_DOM', true);
  2.  
  3. define('EUCOOKIELAW_DISALLOWED_DOMAINS',
  4. '.google.com;.google.it;html5shim.googlecode.com;.googleanalytics.com;.googleapis.com;.doubleclick.net;'.
  5. '.twitter.com;twitterfeed.com;.youtube-nocookie.com;.youtube.com;.vimeo.com;.facebook.net;.facebook.it;'.
  6. '.facebook.com;.linkedin.com;.instagram.com;.cdninstagram.com;.eventbrite.it;.eventbrite.com;.addtoany.com;'.
  7. '.mixpanel.com;.addthis.com;.googleadservices.com;.google-analytics.com;.googlesyndication.com');
  8.  
  9. define('EUCOOKIELAW_LOOK_IN_SCRIPTS', true);
  10. require_once dirname(__FILE__) . "/euCookie/eucookielaw-header.php";
  11. include_once dirname(__FILE__) . "/euCookie/eucookielaw-language.php";
  12.  
  13. define('EUCOOKIELAW_BANNER_TITLE', JText::_('EU_COOKIE_BANNER_TITLE') );
  14. define('EUCOOKIELAW_BANNER_DESCRIPTION', JText::_('EU_COOKIE_MESSAGE') );
  15. define('EUCOOKIELAW_BANNER_AGREE_BUTTON', JText::_('EU_COOKIE_AGREE_LABEL') );
  16. define('EUCOOKIELAW_BANNER_DISAGREE_BUTTON', JText::_('EU_COOKIE_DISAGREE_LABEL') );
  17.  
  18. // define('EUCOOKIELAW_BANNER_AGREE_LINK', JText::_('EU_COOKIE_AGREE_LINK') ); // Il valore da assegnare all'override sar&agrave; tipo: <a href="http://www.sitomio.it/my-page.html?arg1=a&amp;arg2=b&amp;__eucookielaw=agree" style="color: #999999;">http://www.sitomio.it/my-page.html?arg1=a&amp;arg2=b&amp;__eucookielaw=agree</a> (facendo attenzione ad aggiungere l'argomento: __eucookielaw=agree ovvero &amp;__eucookielaw=agree // definizione facoltativa
  19. // define('EUCOOKIELAW_BANNER_DISAGREE_LINK', JText::_('EU_COOKIE_DISAGREE_LINK') ); // Il valore da assegnare all'override sar&agrave; tipo: http://www.sitomio.it/my-page.html?arg1=a&amp;arg2=b&amp;__eucookielaw=disagree (facendo attenzione ad aggiungere l'argomento: __eucookielaw=disagree ovvero &amp;__eucookielaw=disagree // definizione facoltativa

 Note:

Integrazioni da effettuare alle linee: 1 , e dalla 13 alla 16 da effetuare sul file principale (del template o root). Le linee 18 e 19 sono definizioni facoltative.

Nel caso di aggiornamento del Core di Joomla! o del file principale del template, è importante ripristinare questo file, avendo cura di provvedere ad una copia per il ripristino dello snippet.

  • Non tutti i domini elencati in EUCOOKIELAW_DISALLOWED_DOMAINS devono essere riportati, ma indicare solo quelli che sul proprio sito producono cookie. Un elenco completo dei domini è presente nella guida alla configurazione ottimale di EUCookieLaw.

Ai fini della versione multilingua sono state definite solo le costanti utilizzabili per a tale scopo. Per eventuali altre esigenze si rimanda alla guida disponibilesul repository EuCookieLaw GitHub.

Se ti è piaciuto aiutami a condividere l'articolo

Ultima modifica il Mercoledì, 23 Settembre 2015 11:22
Vota questo articolo
(0 Voti)