Menu
Multilingua EUCookieLaw di Diego La Monica per Joomla! 2.5

Multilingua EUCookieLaw di Diego La Monica per Joomla! 2.5

Ciao a tutti,

poco dopo aver scritto questa guida per il Multilingua del Banner dei Cookie dello script di Diego La Monica, mi sono state segnalate alcune incompatibilità con alcune installazione su Joomla! 2.5.

Su alcuni Server Web (tipo Aruba) può essere richiesto anche il file: "gzcompat.php" disponibile sempre sul repository GitHub.
Nel caso si verificasse effetuare l'upload di tale file nella cartella "euCookie" che avevamo definito nella precedente guida.

L’obiettivo quindi di questo aggiornamento è quello di fornire le nuove indicazioni per la configurazione di EUCookieLaw su Joomla! 2.5  per la risoluzione dei problemi soprasposti.

Questo breve guida va ad integrare quanto già detto nelle precedenti guide e si applica alla versione 2.5 di Joomla!.

Step 1 – Copia dei file

Per il corretto funzionamento anche in Joomla! 2.5 è opportuno procedere con i seguatni passi. 

  • Creiamo una cartella nella radice del sito che chiameremo "euCookie" (o un nome a vostra scelta) e trasferiamo il file: eucookielaw-header.php ed eventualmente, se successivamente richiesto, anche il file gzcompat.php  scaricabili dal repository GitHub.

Provvediamo quindi a creare un’ulteriore cartella “euCookie“ (o il nome che avete scelto) nella cartella del template in uso nel quale bisogna trasferire i file eucookielaw.css per il foglio di stile, lo script EUCookieLaw.js e come visto precedentemente il nuovo file php dove andremo ad inserire un po' di codice per la gestione delle lingue e che avevamo chiamato: eucookielaw-language.php.

Step 2 - Contenuto del nuovo file php

All'interno del nuovo file eucookielaw-language.php che creeremo digitiamo il seguente codice:

PHP Code:
  1. <script src="<?php echo $this->baseurl . '/templates/' . $this->template ?>/euCookie/EUCookieLaw.js"></script>
  2. <link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl . '/templates/' . $this->template ?>/euCookie/eucookielaw.css" />
  3. <?php
  4. $message = JText::_('EU_COOKIE_MESSAGE');
  5. $bannerTitle = JText::_('EU_COOKIE_BANNER_TITLE');
  6. $agreeLabel = JText::_('EU_COOKIE_AGREE_LABEL');
  7. $disagreeLabel = JText::_('EU_COOKIE_DISAGREE_LABEL');
  8. $tag = JText::_('EU_COOKIE_TAG');
  9. ?>
  10. <script>
  11. new EUCookieLaw({
  12. message : '<?php echo $message;?>',
  13. showBanner: true,
  14. bannerTitle: '<?php echo $bannerTitle;?>',
  15. agreeLabel: '<?php echo $agreeLabel;?>',
  16. disagreeLabel: '<?php echo $disagreeLabel;?>',
  17. tag: '<?php echo $tag;?>'
  18. });
  19. </script>

Questo file sarà utilizzato dai file di Override della lingua, tramite la funzione Joomla! "JText" per la gestione delle traduzioni.
Per funzionare correttamente assegneremo
 dei nomi di variabili e il rispettivo valore che dovrà assumerà per visualizzare corretamente il testo.
Nella parte script, dopo l'ultimo elemento è possibile inserire altre istruzioni disponibili come ad esempio:

PHP Code:
  1. <script>
  2. new EUCookieLaw({
  3. message : '<?php echo $message;?>',
  4. showBanner: true,
  5. bannerTitle: '<?php echo $bannerTitle;?>',
  6. agreeLabel: '<?php echo $agreeLabel;?>',
  7. disagreeLabel: '<?php echo $disagreeLabel;?>',
  8. tag: '<?php echo $tag;?>',
  9. reload: true,
  10. agreeOnScroll: false
  11. });
  12. </script>

Nota: Le prime due righe del codice sopra, richiamano rispettivamente il percorso del file di script e del file CSS (eventualmente correggere con il nome della cartella da voi assegnato se non usate quello proposto "euCookie").

Step 3 – Modifiche nella radice del sito

A differenza di quello che abbiamo visto nella predente guida (che andava a modificare il file principale del template), per risolvere i problemi sopra accennati occorre procedere aprendo il file index.php della root, dove incolliamo all’inizio del file il seguente snippet (comunque all'interno dei tag PHP):

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 'euCookie/eucookielaw-header.php';

Note:

  • Nel caso di aggiornamento del Core di Joomla!, è 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.

Step 4 – Modifiche al template

La modifica al template è diversa rispetto alla precedente guida, quindi aprendo il file index.php del template o, in alcuni casi il file principale del template potrebbe trovarsi in altra posizione (a titolo di esempio: /templates/vostrotemplate/layouts/default.php), procederemo ad inserire solo all'inclusione del file eucookielaw-language.php creato prededentemente, ovvero all’interno del tag <head> il seguente snippet:

PHP Code:
  1. <?php
  2. include_once dirname(__FILE__) . "/euCookie/eucookielaw-language.php";
  3. ?>

Step 5 – Configurare l’aspetto del banner

Riporto per funzionalità il testo della predente guida per fornire continuità di lettura.

Per vostre necessità potete decidere di modificare direttamente il CSS per poter aderire meglio allo stile del vostro sito oppure creare un nuovo CSS ed includerlo allo stesso modo, come visto nello Step 1 e Step 2, e con le regole da voi personalizzate.

Step 6 - Uso del multilingua

Per poter disporre delle versioni in qualsiasi altra lingua sfrutteremo la funzionalità Override di Joomla! in Gestione Lingua.

override italianoProcediamo con le impostazioni dell'override della lingua e come prima operazione impostamo la lingua italiana.

Apriamo la Gestione Lingua da Estensioni e dal menu di sinistra scegliamo Override Lingua selezionando come Filtro dal menu a tendina la voce Italian (IT) - Sito.

Inizialmente la pagina apparirà vuota, a meno che non abbiamo, in passato, già inserito nuove voci di Override.

In ogni caso dobbiamo aggiungere le nuove voci per l'Override per ciascuna lingua di cui avessimo necessità.

modifica override inglese smallPremendo il pulsante nuovo verrà aperto un form che presenterà i seguenti campi da compilare:

  • Costante Lingua *
  • Testo

* Come Costante Lingua, useremo quelle viste nello Step 2 e utilizzate dalla funzione Joomla! JText es: EU_COOKIE_MESSAGE mentre nell'area di testo (Testo) andremo ad inserire il testo che vogliamo adottare per la lingua selezionata (nell'immagine per la lingua Inglese).

Salviamo il lavoro utilizzando Salva e Nuovo procedendo così per tutte le Costanti di Lingua e alla fine usiamo Salva e Chiudi, dopodichè possiamo procedere con l'Override di un'altra lingua selezionandola dal Filtro del menu di sinistra e assegnando per ciascuna Costante di Lingua il nuovo testo.

Al termine di questa procedura i nostri banner appariranno nella lingua predefinita dell'utente con delle visualizzazioni simili a queste:

Banner it Banner en small

 

 

La configurazione di EUCookieLaw in versione multilingua è quindi completa e totalmente funzionante in Joomla!.

Personalizzazione testo: Il testo del banner è puramente indicativo, pertanto consiglio vivamente di procedere con un testo idoneo al vostro sito, l'area di testo per l'informativa breve accetta codice html ove è possibile inerire anche il link alla vostra informativa estesa (ovviamente linkando la versione alla pagina della relativa lingua).
Se desideri puoi ottenere il file di Override di lingua e il nuovo file eucookielaw-language.php registrandoti alla newsletter cliccando qui
Nel file zippato troverai due cartelle: euCookie che va salvata nella directory del tuo template in uso, mentre la cartella overrides nella cartella principale language, assicurandoti prima di non sovrascrivere eventuali altri ovveride.

Nota Tecnica: Ho rilevato che lavorando in locale sul sito, accettando i Cookie il banner ricompare, mentre sul sito di produzione questo non si verifica.

Se ti è piaciuto aiutami a condividere l'articolo

Ultima modifica il Giovedì, 10 Marzo 2016 12:17
Vota questo articolo
(1 Voto)

Commenti (4)

  1. Maria Grazia

Utilissima guida, semplice da seguire..grazie a Gioacchino per la sua esaustività, ho testato sul mio sito in Joomla 2.5 e confermo che funziona tutto a dovere!

  Allegati
 

Grazie Maria Grazia, mi fa piacere che funzioni tutto perfettamente.
Perchè non ci segnali i link alle varie versioni del sito così possiamo verificare anche noi?

  Allegati
 
  1. gianluca

ciao, a me non funziona la traduzione....
mi appare sempre

EUCOOKIELAW_BANNER_TITLE
EUCOOKIELAW_BANNER_DESCRIPTION
EUCOOKIELAW_BANNER_AGREE_BUTTON

anche se nel pannello di joomla ho fatto l'override come hai descritto...
inoltre come template...

ciao, a me non funziona la traduzione....
mi appare sempre

EUCOOKIELAW_BANNER_TITLE
EUCOOKIELAW_BANNER_DESCRIPTION
EUCOOKIELAW_BANNER_AGREE_BUTTON

anche se nel pannello di joomla ho fatto l'override come hai descritto...
inoltre come template uso T3_BLANK... la cartella è tpls, lì devo cercare default php? oppure quello che uso? grazie

Leggi Tutto
  Allegati
  Ultima modifica commento su 1 anno fa da Gioacchino Cipriano Gioacchino Cipriano

@gianluca
Esatto con il T3 il file da modificare è tpls/default-joomla-2.5.php o se si usa la versione 3 tpls/default-joomla-3.x.php.
Inoltre è necessario modificare questi percorsi:
require_once dirname(__FILE__) ....

@gianluca
Esatto con il T3 il file da modificare è tpls/default-joomla-2.5.php o se si usa la versione 3 tpls/default-joomla-3.x.php.
Inoltre è necessario modificare questi percorsi:
require_once dirname(__FILE__) . "../../euCookie/eucookielaw-header.php";
include_once dirname(__FILE__) . "../../euCookie/eucookielaw-language.php";

Leggi Tutto
  Allegati
 
There are no comments posted here yet

Lascia i tuoi commenti

Posting comment as a guest.
0 Characters
Allegati (0 / 3)
Share Your Location
Torna in alto