Jump to content

consenso privacy pagina contatto


marovps

Recommended Posts

ciao,

il Modulo privacy scaricabile da prestamodules.com non agisce sulla pagina contatto, almeno la versione che ho gia installato sul mio sito a luglio.

Nella pagina contatto dove qualsiasi utente anche non registrato può inviarti un email compilando il form manca dell'accettazione della privacy.

questa cosa va risolta.

 

vedi in questa pagina del sito presente nella tua firma manca la possibilità di dare in consenso alla privacy

http://www.prestamodules.com/prestashop/contact-form.php

 

un utente registro da consenso nel momento che si registra, ma chi compila il form di contatto?

 

buon lavoro

Link to comment
Share on other sites

  • 1 month later...

Ciao

per farlo io ho aggiunto in uno dei file .js che vengono caricati nell'header di ogni pagina (ad esempio /js/tools.js)

questa semplice funzione javascript di controllo

function DG_valida_ContactForm ( )
{
/*  Funzione aggiunta qui per farla caricare nell'header di ogni pagina
serve per convalida privacy aggiunta nel modulo contattaci
vedi anche modifiche fatte a ...themes/prestashop/contact-form.tpl
*/
valid = true;
if ( document.DG_FormContactForm.DG_terms.checked == false )
{
 alert ( "Si prega di leggere ed accettare l'Informativa Privacy, vistando il quadratino relativo.\n\nPlease read and check the Privacy Terms box." );
 valid = false;
}
return valid;
}	  
/* DG_ fine funziona aggiunta */

 

 

e poi modificato il file themes/NOMETUOTEMA/contact-form.tpl in 3 parti:

 

1 nel tag form verso la riga 48 ho aggiunto

name="DG_FormContactForm"

RIGA COSI' MODIFICATA:

<form name="DG_FormContactForm" action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">

 

2 in fondo , subito prima del tag <p class="submit"> <input type="submit" .... ho aggiunto

<!-- aggiunto campo checkbox obbligatorio -->
 <p>
 Dichiaro di aver letto ed accetto l'Informativa sulla Privacy
 <a href="{$base_dir}cms.php?id_cms=6&id_lang=5" onclick="window.open(this.href); return false;" >(LEGGI INFORMATIVA PRIVACY)</a>
 <br />
 <input type="checkbox" name="DG_terms" value="No"/>
 <br />
 I agree to the Privacy Terms
 <a href="{$base_dir}cms.php?id_cms=6&id_lang=1" onclick="window.open(this.href); return false;" >(READ IT HERE)</a>
 </p>

 

3 infine, subito sotto, nel tag <input type="submit" name="submitMessage" .... ho inserito la chiamata alla funzione di controllo

RIGA COSI' MODIFICATA:

<input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" onclick="return DG_valida_ContactForm(); $(this).hide();" />

 

 

Ovviamente devi cambiare id_cms=6 se l'id dela tua pagina cms con la privacy è diverso da 6

E' tutto.

 

A me funziona bene con presta 1.4.7.0

 

Spero sia stato utile

Ciao

  • Like 4
Link to comment
Share on other sites

  • 2 months later...
  • 3 months later...

prestashop versione 1.4.8.2 confermo il funzionamento corretto nessun errore!

 

volevo solo precisare che basta fare la modifica solo nel file: themes/NOMETUOTEMA/contact-form.tpl incollando la anche il codice javascript ,anche perche' in molti File Tpl ho riscontrato Js code e quindi tutto il codice che ha elencato top7can al quale va un sentito ringraziamento , avendo pero' cura di inserirlo dentro qui:

 

<script type="text/javascript">
function DG_valida_ContactForm ( )
{
/*  Funzione aggiunta qui per farla caricare nell'header di ogni pagina
serve per convalida privacy aggiunta nel modulo contattaci
vedi anche modifiche fatte a ...themes/prestashop/contact-form.tpl
*/
valid = true;
	if ( document.DG_FormContactForm.DG_terms.checked == false )
	{
	 alert ( "Si prega di leggere ed accettare l'Informativa Privacy, vistando il quadratino relativo.\n\nPlease read and check the Privacy Terms box." );
	 valid = false;
	}
	return valid;
}	  
/* DG_ fine funziona aggiunta */
 </script>

 

verso la riga 48

 

<form name="DG_FormContactForm" action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">

 

in fondo , subito prima del tag <p class="submit"> <input type="submit".....

 

<!-- aggiunto campo checkbox obbligatorio -->
 <p>
 Dichiaro di aver letto ed accetto l'Informativa sulla Privacy
 <a href="{$base_dir}cms.php?id_cms=6&id_lang=5" onclick="window.open(this.href); return false;" >(LEGGI INFORMATIVA PRIVACY)</a>
 <br />
 <input type="checkbox" name="DG_terms" value="No"/>
 <br />
 I agree to the Privacy Terms
 <a href="{$base_dir}cms.php?id_cms=6&id_lang=1" onclick="window.open(this.href); return false;" >(READ IT HERE)</a>
 </p>

 

 

infine, subito sotto, nel tag <input type="submit" name="submitMessage" ....

 

<input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" onclick="return DG_valida_ContactForm(); $(this).hide();" />

nota: l'ultimo pezzo di codice e' riferito al pulsante !!!! e per questo bisogna cancellare o modificare il codice che punta al pusante di default sostituendolo con questo .... pena il doppio pulsante .....io ho racchiuso il codice dentro i tag <p class="*****">blablabla</p >

 

 

***** cambiare id_cms=6 se l'id dela tua pagina cms con la privacy è diverso da 6 *********

 

 

 

 

 

per il resto e' tutto uguale cosi' come gia' descritto. In questo modo la modifica va fatta solo in un file!

 

 

Scriviamo quindi all'inizio di questo post risolto [solved]

 

 

ciao e alla prossima

Edited by saturnostore (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Salve a tutti,

 

ho provato a fare le modifiche suggerite in questo thread e mi appare il checkbox nella pagina contatti, con il link alla pagina CMS relativa alla privacy.

Fin qui tutto bene, poi ho provato a fare un test inserendo i campi nel modulo contatti, non ho smarcato il box sulla privacy e ho premuto "Invia".

Mi sarei aspettato un messaggio di errore o di blocco, invece la richiesta e' stata inviata.

 

Secondo me non e' corretto perche' in questo modo non abbiamo la certezza che il visitatore abbia preso visione dell'informativa sulla privacy.

 

Fatemi sapere cosa ne pensate.

 

Grazie e buona serata

 

Gianluca

Link to comment
Share on other sites

  • 1 month later...

Ciao a tutti,

 

riapro questo topic, per un'ulteriore richiesta di chiarimento/aiuto.

Ho notato che attivando sul BO di prestashop la modalita' "Instant Checkout" (e' in pratica la modalita' di acquisto senza registrazione), nella pagina dell'ordine manca il box per l'accettazione dell'informativa sulla privacy, cosa che non va bene perche' in realta' i dati vengono comunque trattenuti sul server.

Come si puo' fare per inserire il box anche in questo modulo?

Si puo' utilizzare lo stesso codice suggerito da top7can e da saturnostore? In realta' non saprei neppure in che file inserirlo, non riesco a trovare il modulo...

 

Grazie mille!

 

Ciao

Gianluca

Link to comment
Share on other sites

  • 2 months later...

Scusate, potreste darmi una mano, non riesco a far funzionare il messaggio di errore con il pulsante check non spuntato, questo il codice della pagina, dove sbaglio?

{*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2012 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
[color=#ff0000]<script type="text/javascript">
function DG_valida_ContactForm ( )
{
/*  Funzione aggiunta qui per farla caricare nell'header di ogni pagina
serve per convalida privacy aggiunta nel modulo contattaci
vedi anche modifiche fatte a ...themes/prestashop/contact-form.tpl
*/
valid = true;
		    if ( document.DG_FormContactForm.DG_terms.checked == false )
		    {
			 alert ( "Si prega di leggere ed accettare l'Informativa Privacy, vistando il quadratino relativo.\n\nPlease read and check the Privacy Terms box." );
			 valid = false;
		    }
		    return valid;
}		
/* DG_ fine funziona aggiunta */
 </script>[/color]

{capture name=path}{l s='Contact'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}

<h1>{l s='Customer Service'} - {if isset($customerThread) && $customerThread}{l s='Your reply'}{else}{l s='Contact us'}{/if}</h1>
{if isset($confirmation)}
<p>{l s='Your message has been successfully sent to our team.'}</p>
<ul class="footer_links">
 <li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>
</ul>
{elseif isset($alreadySent)}
<p>{l s='Your message has already been sent.'}</p>
<ul class="footer_links">
 <li><a href="{$base_dir}"><img class="icon" alt="" src="{$img_dir}icon/home.gif"/></a><a href="{$base_dir}">{l s='Home'}</a></li>
</ul>
{else}
<p class="bold">{l s='For questions about an order or for more information about our products'}.</p>
{include file="$tpl_dir./errors.tpl"}
<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">
[color=#ff0000]<form name="DG_FormContactForm" action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">[/color]
    <fieldset>
  <h3>{l s='Send a message'}</h3>
  <p class="select">
   <label for="id_contact">{l s='Subject Heading'}</label>
  {if isset($customerThread.id_contact)}
   {foreach from=$contacts item=contact}
 {if $contact.id_contact == $customerThread.id_contact}
  <input type="text" id="contact_name" name="contact_name" value="{$contact.name|escape:'htmlall':'UTF-8'}" readonly="readonly" />
  <input type="hidden" name="id_contact" value="{$contact.id_contact}" />
 {/if}
   {/foreach}
  </p>
  {else}
   <select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">
 <option value="0">{l s='-- Choose --'}</option>
   {foreach from=$contacts item=contact}
 <option value="{$contact.id_contact|intval}" {if isset($smarty.post.id_contact) && $smarty.post.id_contact == $contact.id_contact}selected="selected"{/if}>{$contact.name|escape:'htmlall':'UTF-8'}</option>
   {/foreach}
   </select>
  </p>
  <p id="desc_contact0" class="desc_contact"> </p>
   {foreach from=$contacts item=contact}
 <p id="desc_contact{$contact.id_contact|intval}" class="desc_contact" style="display:none;">
  {$contact.description|escape:'htmlall':'UTF-8'}
 </p>
   {/foreach}
  {/if}
  <p class="text">
   <label for="email">{l s='E-mail address'}</label>
   {if isset($customerThread.email)}
 <input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />
   {else}
 <input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />
   {/if}
  </p>
 {if !$PS_CATALOG_MODE}
  {if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
  <p class="text select">
   <label for="id_order">{l s='Order Reference'}</label>
   {if !isset($customerThread.id_order) && isset($isLogged) && $isLogged == 1}
 <select name="id_order" >
  <option value="0">{l s='-- Choose --'}</option>
  {foreach from=$orderList item=order}
   <option value="{$order.value|intval}" {if $order.selected|intval}selected="selected"{/if}>{$order.label|escape:'htmlall':'UTF-8'}</option>
  {/foreach}
 </select>
   {elseif !isset($customerThread.id_order) && !isset($isLogged)}
 <input type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order)}{$smarty.post.id_order|intval}{/if}{/if}" />
   {elseif $customerThread.id_order > 0}
 <input type="text" name="id_order" id="id_order" value="{$customerThread.id_order|intval}" readonly="readonly" />
   {/if}
  </p>
  {/if}
  {if isset($isLogged) && $isLogged}
  <p class="text select">
  <label for="id_product">{l s='Product'}</label>
   {if !isset($customerThread.id_product)}
   {foreach from=$orderedProductList key=id_order item=products name=products}
 <select name="id_product" id="{$id_order}_order_products" class="product_select" style="width:300px;{if !$smarty.foreach.products.first} display:none; {/if}" {if !$smarty.foreach.products.first}disabled="disabled" {/if}>
  <option value="0">{l s='-- Choose --'}</option>
  {foreach from=$products item=product}
   <option value="{$product.value|intval}">{$product.label|escape:'htmlall':'UTF-8'}</option>
  {/foreach}
 </select>
   {/foreach}
   {elseif $customerThread.id_product > 0}
 <input type="text" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
   {/if}
  </p>
  {/if}
 {/if}
 {if $fileupload == 1}
  <p class="text">
  <label for="fileUpload">{l s='Attach File'}</label>
   <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
   <input type="file" name="fileUpload" id="fileUpload" />
  </p>
 {/if}
 <p class="textarea">
  <label for="message">{l s='Message'}</label>
   <textarea id="message" name="message" rows="15" cols="10">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>
 </p>
[color=#ff0000]   <!-- aggiunto campo checkbox obbligatorio -->
 <p class="check-privacy">Dichiaro di aver letto ed accetto l'Informativa sulla Privacy
 <a href="{$base_dir}cms.php?id_cms=6&id_lang=5" onclick="window.open(this.href); return false;" ><br />(Leggi l'informativa sulla pivacy)</a>
 <br /></p>
 <p class="check"><input type="checkbox" name="DG_terms" value="No"/>
 <br />
 </p>	  
 <p class="submit">
  <input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" onclick="return DG_valida_ContactForm(); $(this).hide();" />
 </p>[/color]
</fieldset>
</form>
{/if}

 

Ringrazio anticipatamente,

Andrea.

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...
  • 6 months later...

Salve,


intervengo solo per precisare le finalità del consenso al trattamento dei dati personali (modulo privacy). Con tale consenso l'interessato esprime di fatto la propria autorizzazione  al trattamento dei dati.


È necessario comunque precisare che la legge prevede una serie di operazioni di trattamento che richiedono un consenso specifico e ulteriore da parte dell'interessato rispetto al consenso generale, ad esempio  finalizzato all'invio di materiale pubblicitario e alla comunicazione dei dati a soggetti terzi. L'interessato dovrà essere informato anche sulle finalità e sulle  modalità del trattamento, sull'eventuale trasferimento dei dati all'estero, nonché sui diritti d'accesso e di partecipazione al trattamento.


L'informativa consiste in una comunicazione con la quale il titolare illustra ai soggetti interessati: le finalità e le modalità del trattamento svolto, la natura obbligatoria o facoltativa del conferimento dei dati, le conseguenze dell'eventuale rifiuto al conferimento, l'ambito di comunicazione e diffusione dei dati, l'eventuale trasferimento dei dati all'estero, i diritti dell'interessato, l'indicazione del titolare, l'indicazione del responsabile individuato o quello designato, l'indicazione degli incaricati che compiono le operazioni di trattamento. 


Link to comment
Share on other sites

  • 1 year later...
  • 1 year later...

Fornisco il mio adattamento per la versione Prestashop 1.6.
In questa soluzione se premi Invia e ci sono degli errori (es. manca il messaggio), la casella della Privacy rimane abilitata e quindi non occorre ricliccarla.

 

Modifiche da fare nel file  themes/NOME_TEMA/contact-form.tpl
 

1) Prima della riga:

{include file="$tpl_dir./errors.tpl"}

aggiungere:

<script type="text/javascript">
// variabile per mantenere abilitato il checkbox privacy
var privacy_checked = '';
</script> 
{if isset($errors) && $errors}
 <script type="text/javascript">
  // imposto la variabile a yes se ho premuto INVIA e ci sono degli errori
  privacy_checked = 'yes';
 </script> 
{/if}

2) Modificare la riga:

<form action="{$request_uri}" method="post" class="contact-form-box" enctype="multipart/form-data">

aggiungendo l'attributo name:

<form action="{$request_uri}" method="post" class="contact-form-box" enctype="multipart/form-data" name="DG_FormContactForm">

3) In fondo sostituire:

<div class="submit">
<button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>
</div>

con questo codice: 

<div class="submit">
<button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium" onclick="return DG_valida_ContactForm(); $(this).hide();">
<span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button>
</div>
<br />
<fieldset class="account_creation customerprivacy">
<div style="width:21px; float:left;"><div class="required checkbox"><div class="checker" id="uniform-customer_privacy"><span class="">
<input type="checkbox" value="1" id="DG_terms" name="DG_terms" autocomplete="off"></span>
</div></div></div>
<div style="width: 92%; float: left; "> <!-- per allineare la casella, togliere o aggiungere da style: margin-top: 8px; -->
<label for="DG_terms" style="font-weight: normal;">
<p>Dichiaro di aver letto ed accetto l'<a title="Leggi l'Informativa sulla Privacy" href="{$base_dir}it/content/8-privacy" onclick="window.open(this.href); return false;" >Informativa sulla Privacy</a>
<br />I agree to the <a title="Read the Privacy Terms" href="{$base_dir}en/content/8-privacy" onclick="window.open(this.href); return false;" >Privacy Terms</a></p></label>
</div> </fieldset>
<script type="text/javascript">
function DG_valida_ContactForm ( )
{
    /*  Funzione per convalida privacy   */
valid = true;
if ( document.DG_FormContactForm.DG_terms.checked == false )
{
alert ( "\nSi prega di leggere ed accettare l'Informativa sulla Privacy.\n\nPlease read and check the Privacy Terms box." );
valid = false;
}
return valid;
}
/* DG_ fine funziona aggiunta */
// mantiene abilitato il checkbox privacy
if ( privacy_checked == 'yes' )
{
document.DG_FormContactForm.DG_terms.checked = true;
}
</script>

 

NB: 
Cambiare i riferimenti (it/content/8-privacy) e (en/content/8-privacy) con i link alla vostre pagine della privacy.
 

 
----->>>   Prima di qualsiasi modifica fate un backup del file originale   <<<-----
Edited by AWR (see edit history)
  • Like 3
Link to comment
Share on other sites

@AWR

 

grazie mille per questa soluzione.

 

Confermo che funziona perfettamente anche sulla versione 1.5.4.1..ho aggiunto la keyword di formattazione <strong>  al link Informativa sulla privacy per evidenziarlo :-)

 

Grazie

 

Fabrizio

Link to comment
Share on other sites

  • 4 months later...

Ciao a tutti

ho riscontrato un problema sulla pagina contattaci,(sicuramente  per mio errore)cioe dopo aver fatto la modifica suggerita da AWR la pagina di registrazione e' stata correttamente modificata (spunta obbligatoria nel cekbox e link ) mentre nella pag contact use c'era si il consenso obbligatorio ma non mi trovo piu' il pulsante di invio,

qualcumo puoi aiutarmi? la versione e' 1.6.1.9

ciao grazie

Max

Link to comment
Share on other sites

  • 3 months later...

Ciao
la soluzione data da @AWR funziona perfettamente su tutte le versioni di PS 1.6.
 
Per Prestashop 1.7 ho spostato alcuni pezzi in modo da adattarli nel file /themes/classic/modules/contactform/views/templates/widget/contactform.tpl (tema di base) ----> Copiate il file prima di modificarlo
 
1. Sostituire:

<form action="{$urls.pages.contact}" method="post" {if $contact.allow_file_upload}enctype="multipart/form-data" {/if} >

con questo:

<form action="{$urls.pages.contact}" method="post" {if $contact.allow_file_upload}enctype="multipart/form-data" [color=#000080]name="DG_FormContactForm"[/color] {/if} >

2. Dopo la riga:

{if $notifications}

aggiungere lo script:


<script type="text/javascript">
	// variabile per mantenere abilitato il checkbox privacy
	var privacy_checked = '';
</script> 
{if isset($errors) && $errors}
	<script type="text/javascript">
		// imposto la variabile a yes se ho premuto INVIA e ci sono degli errori
 		 privacy_checked = 'yes';
 	</script> 
{/if}

3. Dopo la riga:

</section>

Aggiungere il fieldset (sostituendo le URL con quelle della propria Privacy Policy in href)

<fieldset class="account_creation customerprivacy">
<div style="width:21px; float:left;"><div class="required checkbox"><div class="checker" id="uniform-customer_privacy"><span class="">
<input type="checkbox" value="1" id="DG_terms" name="DG_terms" autocomplete="off"></span>
</div></div></div>
<div style="width: 92%; float: left; "> <!-- per allineare la casella, togliere o aggiungere da style: margin-top: 8px; -->
<label for="DG_terms" style="font-weight: normal;">
<p>Dichiaro di aver letto ed accetto l'<a title="Leggi l'Informativa sulla Privacy" href="{$base_dir}it/content/8-privacy" onclick="window.open(this.href); return false;" >Informativa sulla Privacy</a>
<br />I agree to the <a title="Read the Privacy Terms" href="{$base_dir}en/content/8-privacy" onclick="window.open(this.href); return false;" >Privacy Terms</a></p></label>
</div> </fieldset>
<script type="text/javascript">
function DG_valida_ContactForm ( )
{
    /*  Funzione per convalida privacy   */
valid = true;
if ( document.DG_FormContactForm.DG_terms.checked == false )
{
alert ( "\nSi prega di leggere ed accettare l'Informativa sulla Privacy.\n\nPlease read and check the Privacy Terms box." );
valid = false;
}
return valid;
}
/* DG_ fine funziona aggiunta */
// mantiene abilitato il checkbox privacy
if ( privacy_checked == 'yes' )
{
document.DG_FormContactForm.DG_terms.checked = true;
}
</script>

4. Sostituire la riga:

<input class="btn btn-primary" type="submit" name="submitMessage" value="{l s='Send' d='Shop.Theme.Actions'}">

con la seguente riga di codice:

<input class="btn btn-primary" type="submit" name="submitMessage" value="{l s='Send' d='Shop.Theme.Actions'}" onclick="return DG_valida_ContactForm(); $(this).hide();">

Spero di essere stata utile.

Edited by Marcella*M* (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 8 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...