Switch Language

Privacy Policy in Magento: come impostarla

di Antonio Carboni, 3 giugno 2013
5/5 (1)

Uno degli obblighi legislativi italiani che un E-commerce deve soddisfare è quello relativo alla privacy policy. Magento non ha un sistema di gestione della privacy se non la pagina di default impostata principalmente per chi non ha i cookie abilitati.

Sulla rete e in particolare sul forum italiano ufficiale di Magento sono stati discussi e presentati diversi accorgimenti per inserire un controllo sull’accettazione della privacy.

Di seguito ti illustrerò un metodo che usavo frequentemente prima che sviluppassimo un modulo dedicato, ossia il nostro Privacy Policy.

Il codice per la privacy policy da utilizzare

Il campo della Privacy Policy in Magento può essere impostato con parecchie configurazioni differenti, una in particolare è condizionata anche dal design in uso. Per esperienza diretta con i nostri clienti, possiamo individuare due tipi principali di campi spesso utilizzati:

  • Checkbox di selezione semplice
  • Piccolo campo di testo + checkbox

Per convenienza mostrerò entrambi gli esempi di codice. Sta a te decidere quale è più adatto al tuo Magento.

Checkbox di selezione semplice

<li class="wide">
   <label class="required" for="comment"><em>*</em><?php echo $this->__('Privacy Policy') ?></label>
   <input class="checkbox required-entry checkboxmagenio" id="inputPrivacy" title="<?php echo $this->__('Accettazione Condizioni Privacy') ?>" type="checkbox" name="Privacy" value="on" />
   <label class="required" for="privacy"><em>*</em><?php echo $this->__('Ho preso visione e accetto l'informativa sulla') ?>
   <a target="_blank" href="<?php echo $this->getUrl('privacy-policy') ?>"> <?php echo $this->__('Privacy Policy') ?></a></label>
</li>

Checkbox di selezione con textarea

<li class="wide">
   <label class="required" for="comment"><em>*</em><?php echo $this->__('Privacy Policy') ?></label>
   <div class="input-box">
     <textarea name="privacy" title="<?php echo $this->__('Privacy Policy') ?>" class="input-text" style="width:650px; text-align:justify;" readonly>
       INFORMATIVA SUL TRATTAMENTO DEI DATI PERSONALI
        Testo dell'Informativa sulla privacy policy Magento
     </textarea>
   </div>
   <input class="checkbox required-entry checkboxmagenio" id="inputPrivacy" title="<?php echo $this->__('Accettazione Condizioni Privacy') ?>" type="checkbox" name="Privacy" value="on" />
   <label class="required" for="privacy"><em>*</em><?php echo $this->__('Ho preso visione e accetto l'informativa sulla') ?>
      <a target="_blank" href="<?php echo $this->getUrl('privacy-policy') ?>"> <?php echo $this->__('Privacy Policy') ?></a>
   </label>
</li>

Entrambi i codici sono racchiusi dal tag <li> perchè nella maggior parte dei casi dovranno essere inseriti all’interno di una lista di form (<ul>). In questo modo il nuovo campo sulla privacy policy dovrebbe ereditare gli stessi stili degli altri campi.

Individuare i file da modificare

Scelto lo stile più consono al proprio sito non resta che incollare la porzione di codice opportunamente modificata con la tua policy personale nei vari file in cui è necessaria. Il primo form è quello di registrazione dell’utente:

app/design/frontend/tuotema/default/template/customer/form/register.phtml

Scegli la posizione che più si adatta al tuo tema. Se stai modificando il tema default, puoi inserirlo alla riga 173, prima della funzione PHP   $this->getChildHtml(‘form.additional.info’).

Un secondo form molto importante è quello dei contatti:

app/design/frontend/tuotema/default/template/contacts/form.phtml

Anche qua la scelta della posizione è a tua completa discrezione. Solitamente conviene inserirlo alla fine dei campi compilabili, quindi prima che venga chiuso il tag <ul> alla fine del file.

Anche i form del checkout sono molto importanti:

app/design/frontend/tuotema/default/template/checkout/onepage/billing.phtml e shipping.phtml

In questi file è consigliato inserire il campo della privacy policy accanto a quelli di controllo (prima o dopo la funzione  $this->getChildHtml(‘checkout.onepage.billing.extra’).

Altri form in cui è possibile inserire la privacy potete trovarli in questi file e/o path:
app/design/frontend/tuotema/default/template/customer/form/

app/design/frontend/tuotema/default/template/customer/address/edit.phtml

app/design/frontend/tuotema/default/template/checkout/multishipping/

app/design/frontend/tuotema/default/template/newsletter/subscribe.phtml

I form sono diversi e potresti non avere la necessità di riproporre il campo ovunque. Il file subscribe.phtml in newsletter è il piccolo form del blocco laterale di Magento. Per questo caso particolare sarebbe più opportuno utilizzare la versione semplice o addirittura una versione ridotta del campo privacy policy per evitare di riempire o scombinare la grafica del blocco.

Ricordati inoltre che dopo la  versione 1.6.2.0 è presente la funzionalità del carrello persistente. Per gestire questa funzionalità è stato fatto un clone del file billing.phtml del checkout e del file register.phtml dell’area utente. Se mentre facevi le modifiche hai notato che in queste due aree non venivano inseriti i campi della privacy policy il problema è dovuto proprio a questo. Occorre quindi applicare le modifiche anche ai file cloni i cui percorsi esatti sono:

app/design/frontend/tuotema/default/template/persistent/checkout/onepage/billing.phtml

app/design/frontend/tuotema/default/template/persistent/customer/form/register.phtml

Ovviamente questa illustrata è solo una procedura d’esempio. Puoi decidere di personalizzarla come meglio credi, cambiando il link della pagina sulla privacy policy o gestire l’intero blocco del form su un blocco statico.

Ti ricordo infine che sul nostro sito dedicato ai moduli troverai un modulo che inserisce automaticamente la privacy policy in tutti i form di Magento! Per saperne di più consulta la pagina dedicata al modulo sulla privacy.

E tu che metodo hai utilizzato? Diccelo nei commenti!

L'articolo era interessante? Vota

Vuoi impare ad usare magento? Scarica il PDF
  • Alessandro Minoccheri

    Ottimo articolo utilissimo anche perchè è obbligatorio direi! Grazie mille

    • http://antoniocarboni.com/ Antonio Carboni

      Ti ringrazio :)

  • Guest

    Ti ringrazio :)

  • Giacomo

    Complimenti per l’articolo ma i link dedicati ai moduli non sono funzionanti…

    • http://antoniocarboni.com Antonio Carboni

      Aggiornato :)

  • Krona

    Sono ancora presenti degli errori: non è $this–> ma $this->