Pagina 1 di 4
registrazione con privacy
Inviato: 18/06/2004, 17:04
da massimo
ciao a tutti,
mi è stato espressamente richiesto che all'atto della registrazione ci sia il link ad una pagina con l'informativa sulla privacy e il check di spunta obbligatorio per procedere con la registrazione.
qualcuno ha idea di contrib già pronte, o devo procedere a manina?
grazie a tutti
Inviato: 21/06/2004, 0:05
da chiocciola
Visto che mi hai dato l'idea è serve anche a me, io l'ho risolta così, non registra niente ma non permette la continuazione del form se non viene spuntata.
Devi poi modificare il file italian.php se vuoi mettere il testo e gli altri file per le traduzioni. il link punta sul file privacy.php.
devi aggiungere due parti di codice:
ti lascio una parte del codice originale per individuare il punto dove incollarlo
-------------------------------------------------------------------------------------
if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) {
$error = true;
$messageStack->add('create_account', ENTRY_PASSWORD_ERROR);
} elseif ($password != $confirmation) {
$error = true;
$messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
}
// opzione privacy start
if (ACCOUNT_PRIVACY == true) {
if ( $privacy == false) {
$error = true;
$messageStack->add('create_account', ENTRY_PRIVACY_ERROR);
}
}
// opzione privacy end
-------------------------------------------------------------------------------------
e poi devi aggiungere:
-------------------------------------------------------------------------------------
<td class="main"><?php echo ENTRY_PASSWORD_CONFIRMATION; ?></td>
<td class="main"><?php echo tep_draw_password_field('confirmation') . ' ' . (tep_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_CONFIRMATION_TEXT . '</span>': ''); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<!-- opzione privacy start-->
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td class="main"><b><?php echo CATEGORY_PRIVACY; ?></b></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" cellspacing="2" cellpadding="2">
<tr>
<td class="main"><?php echo ENTRY_PRIVACY; ?></td>
<td class="main"><?php echo tep_draw_checkbox_field('privacy', '1') . ' ' . (tep_not_null(ENTRY_PRIVACY_TEXT) ? '<span class="inputRequirement">'. '<a href="' . tep_href_link(FILENAME_PRIVACY) . '">' . ENTRY_PRIVACY_TEXT . '</span>': ''); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<!-- opzione privacy end-->
-------------------------------------------------------------------------------------
fammi sapere com'è andata.
Buon lavoro
risolto
Inviato: 21/06/2004, 0:19
da massimo
ciao
grazie per l'impegno. stanotte intanto ho trovato questo, e ho risolto così.
guardando la tua soluzione mi sembra molto simile a quella che ho trovato io.
la tua ha di buono che non mostra un prompt di tipo javascript, come invece fa quella che ho trovato io.
a proposito, il link:
http://www.oscommerce.com/community/con ... ch,privacy
se posso, tra un paio di giorni provo la tua.
ancora grazie e a presto.
Re: risolto
Inviato: 25/07/2004, 17:07
da Bass
Ho installato anch'io questa contributions, funziona bene solo che a mio modo di vedere ha un fastidioso problema, se un utente clicca sul link per vedere l'informativa cliccando poi sul bottone continua (che e' piu' intuitivo del bottone indietro del browser) si ritrova in home page perdendo tutti i dati immessi. Ho pensato di sopperire mettendo una finestrella nella form di registrazione che mostri direttamente l'informativa e per fare questo ho utilizzato tep_draw_textarea_field. Funziona tutto bene tranne un piccolo problema, il testo della privacy rimane editabile.
Sapete se c'e' un modo per evitarlo o una funzione alternativa alla tep_draw_textarea_field che puo' fare al mio caso?
Grazie
'iao
Sergio
Re: risolto
Inviato: 18/08/2004, 2:53
da Simona67
Bass ha scritto:
Ho installato anch'io questa contributions, funziona bene solo che a mio modo di vedere ha un fastidioso problema, se un utente clicca sul link per vedere l'informativa cliccando poi sul bottone continua (che e' piu' intuitivo del bottone indietro del browser) si ritrova in home page perdendo tutti i dati immessi. Ho pensato di sopperire mettendo una finestrella nella form di registrazione che mostri direttamente l'informativa e per fare questo ho utilizzato tep_draw_textarea_field. Funziona tutto bene tranne un piccolo problema, il testo della privacy rimane editabile.
Sapete se c'e' un modo per evitarlo o una funzione alternativa alla tep_draw_textarea_field che puo' fare al mio caso?
Grazie
'iao
Sergio
Leggendo questo tuo post mi sono ricordata di non aver inserito la questione privacy nel sito e si è vero fa anche a me quello scherzo io ho optato in questo:
In Includes/languages/italian.php
ho modificato questa riga:
Codice: Seleziona tutto
define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto ' . '<a href="' . tep_href_link(FILENAME_PRIVACY) . '"><u>le condizioni sulla privacy</u></a> e le accetto:');
in questo modo:
Codice: Seleziona tutto
define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto ' . '<a href="' . tep_href_link(FILENAME_PRIVACY) . '" target="_blank"><u>le condizioni sulla privacy</u></a> e le accetto:');
così facendo mi apre una nuova pagina e il futuro cliente non perde nulla dei dati già inseriti.
postero a giorni la modifica del Total Pack con questo aggiornamento.
ciao
Re: risolto
Inviato: 18/08/2004, 3:49
da marcus
Bass ha scritto:
......
Sapete se c'e' un modo per evitarlo o una funzione alternativa alla tep_draw_textarea_field che puo' fare al mio caso?
Grazie
'iao
Sergio
<?php echo tep_draw_textarea_field('file_contents', 'soft', '100', '25', $file_contents, '
readonly'); ?>
Marzullus
Inviato: 18/08/2004, 4:07
da Simona67
Ciao Marcus,
Io ho risolto, c'è da modificare un pò il codice ma funziona.
io ho fatto così:
in create_account.php:
cerca questo codice:
Codice: Seleziona tutto
function check_form_wrapper(formname) {
if (check_form(formname)) {
if (formname.elements['agree'].checked) {
return true;
} else {
alert('<?php echo ENTRY_PRIVACY_AGREEMENT_ERROR; ?>');
submitted = false;
return false;
}
} else {
formname.elements['agree'].checked = false;
return false;
}
}
e sostituiscilo con:
Codice: Seleziona tutto
function popupPrivacy(url) {
window.open(url,'popupPrivacy','target=_blank,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=800,height=600') . focus();
}
poi cerca questo:
Codice: Seleziona tutto
<td class="main" align="left"><b><?php echo ENTRY_PRIVACY_AGREEMENT; ?></b> <?php echo tep_draw_checkbox_field('agree','true', false, 'onclick="checkboxRowEffect(\'agree\')"'); ?></td>
e sostituiscilo con:
Codice: Seleziona tutto
<td align="left" class="main"><a href="javascript:popupPrivacy('<?php echo tep_href_link(FILENAME_PRIVACY); ?>')"><?php echo ENTRY_PRIVACY_AGREEMENT; ?></b> <?php echo tep_draw_checkbox_field('agree','true', false, 'onclick="checkboxRowEffect(\'agree\')"'); ?></a></td>
poi vai in privacy.php
ed elimina queste righe:
Codice: Seleziona tutto
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
cerca questo codice:
Codice: Seleziona tutto
<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
e sostituiscilo con:
Codice: Seleziona tutto
<td align="right" valign="bottom" class="main"> <p align="right" class="main"><a href="javascript:window.close();"><?php echo TEXT_CLOSE_WINDOW; ?></a></p></td>
poi vai includes/languages/italian.php e aggiungi
Codice: Seleziona tutto
define('ENTRY_PRIVACY_AGREEMENT', 'Ho letto le condizioni sulla privacy e le accetto:');
define('TEXT_CLOSE_WINDOW', 'Chiudi finestra');
ed il gioco è fatto.
In questo modo quando un cliente clicca per vedere la privacy si aprira un finestra a sua volta chiudibile ed il cliente non perderà i dati inseriti.
Cosa ne pensi?
Ciao
Re: risolto
Inviato: 18/08/2004, 8:28
da Bass
marcus ha scritto:
<?php echo tep_draw_textarea_field('file_contents', 'soft', '100', '25', $file_contents, 'readonly'); ?>
Marzullus
Grazie mille!
'iao
Sergio
Inviato: 18/08/2004, 8:32
da Bass
Simona67 ha scritto:
Io ho risolto, c'è da modificare un pò il codice ma funziona.
All'inizio avevo messo anch'io una popup, poi pero' mi sono venute in mente le finestrelle di quando installi un software, quelle per le condizioni d'uso, e mi sono orientato in questa direzione. Alla fine rimane tutto nella pagina di inserimento dati.
'iao
Sergio
Inviato: 10/09/2004, 12:35
da Moloko
Bass, per curiosità, come hai fatto a inserire il tutto in una finestra interna? hai usato un iframe che richiama l'informativa sulla privacy?
Inviato: 10/09/2004, 19:07
da Bass
Moloko ha scritto:Bass, per curiosità, come hai fatto a inserire il tutto in una finestra interna? hai usato un iframe che richiama l'informativa sulla privacy?
Lasciami un attimo di tempo e vado a cercare il codice, a volte faccio le cose ma non ricordo come. Mi pare comunque di aver semplicemente usato una costante in un file di lingua facendo copia e incolla dell'informativa, senza dannarmi troppo
'iao
Sergio
Inviato: 11/09/2004, 22:54
da Bass
Moloko ha scritto:Bass, per curiosità, come hai fatto a inserire il tutto in una finestra interna? hai usato un iframe che richiama l'informativa sulla privacy?
Mi ero dimenticato
Come mi sembrava di ricordare ho messo una costante nel file di lingua con tutta la tiritera sulla privacy e l'ho richiamata cosi':
Codice: Seleziona tutto
<td><?php echo tep_draw_textarea_field('privacy', 'soft', '48', '5', TEXT_INFORMATION, 'readonly', 'false'); ?></td>
TEXT_INFORMATION e' la costante inserita nel file create_account.php nelle cartelle delle lingue
'iao
Sergio
Inviato: 13/09/2004, 16:37
da Moloko
io ho cercato di risolvere così:
Codice: Seleziona tutto
<tr>
<td class="main"><?php echo CATEGORY_PRIVACY; ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" cellspacing="2" cellpadding="2">
<tr>
<td class="main"><?php echo tep_draw_textarea_field('privacy', 'soft', '48', '5', TEXT_INFORMATION, 'readonly', 'false'); ?></td></tr>
<tr><td class="main"><?php echo ENTRY_PRIVACY; ?><?php echo tep_draw_checkbox_field('privacy', '1'); ?></td>
</tr>
ho definito CATEGORY_PRIVACY, ENTRY_PRIVACY in italian/create_account.php, però il TEXT_INFORMATION resta invariato a prescindere dalla lingua selezionata, se decido di sostituire alla stringa il testo che mi interessa. C'è modo di renderlo dipendente dalla lingua e farlo andare a pescare dalla pagina privacy.php della lingua corrispondente?
Inviato: 10/01/2005, 19:49
da OSnew
Quale di questi metodi registra tra i dati del cliente: Accetto Privacy?
Altrimenti è inutile una spunta solo figurativa Di cui non rimane traccia, per correttezza bisognerebbe avere il consenso della privacy scritta o almeno inserita su DB.
grazie
Inviato: 12/01/2005, 0:28
da mustafa
OSnew ha scritto:Quale di questi metodi registra tra i dati del cliente: Accetto Privacy?
Altrimenti è inutile una spunta solo figurativa Di cui non rimane traccia, per correttezza bisognerebbe avere il consenso della privacy scritta o almeno inserita su DB.
grazie
se la spunta e' condizione essenziale per procedere alla registrazione, e' ovvio che e' stata messa da un utente che si e' registrato.
la stessa presenza della registrazione implica che e' stata messa la spunta.