Jump to content

[RISOLTO] Soluzione Privacy contact-form


castiel

Recommended Posts

Salve a tutti, come al solito, mi imbatto nelle cose semplici, ma che per risolvere mi portano via un sacco di tempo.

Anche cercando qui, in tutte le sezioni, non ho trovato una soluzione "elegante" per far approvare la Privacy (trattamento de dati) a chi invia una mail di contatto.

 

io ho risolto modificando il contact-form.tpl ( nella cartella Theme in uso)così.

 

 

{*

* 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.or...ses/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

* @version Release: $Revision: 6594 $

* @license http://opensource.or...ses/afl-3.0.php Academic Free License (AFL 3.0)

* International Registered Trademark & Property of PrestaShop SA

*}

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

 

<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 ID'}</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}">{$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>

 

</fieldset>

<!-- aggiunto campo checkbox obbligatorio -->

<script type="text/javascript" src="/anticalcare/js/jquery/plugins/fancybox/jquery.fancybox.js"></script>

<link href="/anticalcare/js/jquery/plugins/fancybox/jquery.fancybox.css" rel="stylesheet" type="text/css" media="all" />

<p class="checkbox">

<input type="checkbox" name="DG_terms" id="DG_terms" value="1" />

<label for="DG_terms">Accetto senza riserve le condizioni di Privacy.</label> <a href="/index.php?id_cms=2&controller=cms&content_only=1" class="iframe">(leggi i termini del servizio)</a>

</p>

<script type="text/javascript">$('a.iframe').fancybox();</script><script type="text/javascript">$('a.iframe').fancybox();</script>

<a id="fancybox-close" style="display: none; "></a>

<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.\n\nPlease read and check the Privacy Terms box." );

valid = false;

}

return valid;

}

/* DG_ fine funziona aggiunta */

</script>

<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>

</form>

{/if}

 

 

 

 

come al solito, dico che non sono un programmatore.

 

 

a me funziona, spero che possa essere utile per gli altri.

 

Io uso Prestashop 1.5.2

 

Sono partito da uno spunto trovato qui sul forum, ma che per la mia versione non funzionava.

 

ciao

Edited by castiel (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Ciao! non so dove tu abbia trovato questa soluzione, ma era già stata postata sul forum qui:

 

http://www.prestashop.com/forums/topic/154656-consenso-privacy-pagina-contatto/

 

Lo riporto solo perchè la soluzione è la medesima, ma è più "elegante" (anche se ugualmente funzionale) inserire la parte javascript nel file tools.js, come indicato dal creatore della modifica. ;)

 

Ciao :)

Link to comment
Share on other sites

  • 5 months later...

Spero di non essere molto OT...

Ho cercato molto sul forum ma non ho trovato nessuna soluzione che possa risolvere il mio problema che vi espongo...

Ho necessità di aprire una fancybox quando l'utente inserisce nel carrello una quantità non "corretta" di merce.

In pratica nel file CartController.php viene utilizzato

Tools::displayError('stringa da far apparire all'utente...');

in pratica voglio sostituirlo con un fancy box..

Solo che non ho mai usato le fancybox....

Pertanto vorrei fare una cosa del genere

Tools::displayfancybox($stringa);

Come posso fare?

Nel file class Tools.php cosa devo inserire?

So che è una cosa non complicatissima, ma non riesco a venirne fuori...

 

Potreste aiutarmi?

Link to comment
Share on other sites

  • 4 years later...

Io utilizzo questa soluzione,

Tramite ftp vai su: themes/default-bootstrap/contact-form.tpl ed inserire la seguente stringa:

<label> <input type="checkbox" name="privacy" value="yes" required /> Dichiaro di aver letto, compreso ed accettato <a href="#link_pagina" target="_blank">L'Informativa sulla Privacy D.lgs. 196/03</a> (e succ. modifiche) del sito . </label>

 

prima di: <div class="submit">

Link to comment
Share on other sites

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...