Press "Enter" to skip to content

Dodanie zgody RODO w tekstowym polu dostosowywania produktu (PrestaShop 1.6 – 1.7)

Admin 0

Co do test pole dostosowania produktu?

W PrestaShop można dodać dodatkowe pole tekstowe w opisie produktu. Służy ono „dostosowywaniu” produktu. Czyli np. możemy określić tekst nadruku na produkcie, tekst  graweru na biżuterii itp.

Bez włączenia tej opcji karta produktu wygląda w ten sposób:

Po włączeniu:

Włącza się go w edycji konkretnego produktu w zakładce „Opcje”:

W wersji PrestaShop 1.6 jest dla tego dedykowana zakładka „Dostosowywanie” w edycji produktu

Co jeśli w polu będziemy wysyłać wrażliwe dane? Jak np. podany na screenshocie wyżej adres e-mail? Albo numer telefonu, czy też np. imię i nazwisko ? Niestety nie mamy do wyboru opcji wstawienia checkboxa (kratki do zaznaczenia) ze zgodą RODO. A w świetle ustawy konsumenckiej jest to konieczne. Aby to zrobić wystarczy kilka drobnych zmian w kodzie 🙂

Modyfikacja dla PrestaShop 1.7  (1.7.8.7)

Otwórz plik:

themes/{TWÓJ-SZABLON}/templates/catalog/_partials/product-customization.tpl

Następnie zamień kod przycisku do dostosywania z domyślnego (u Ciebie może być nieco inny):

<button class="btn btn-primary float-xs-right" type="submit" name="submitCustomizedData">{l s='Save Customization' d='Shop.Theme.Actions'}</button>

Na następujący:

<button class="btn btn-primary float-xs-right" type="submit" name="submitCustomizedData" id="saveCustomization" disabled="disabled">{l s='Save Customization' d='Shop.Theme.Actions'}</button>

Zaraz pod tym kodem wklej checkbox ze zgodą:

<div class="checkbox">
<input type="checkbox" id="rodocust" name="rodocust" value="1" onchange="checkRODOS(this.checked,'saveCustomization')" />
<label for="rodocust">{l s='Zgoda RODO'} <sup>*</sup></label>
<p>Wyrażam zgodę na podanie moich danych osobowych w polu dostosowania produktu. Administratorem danych osobowych jest NAZWA FIRMY NIP {Configuration::get('PS_SHOP_DETAILS')}, z siedzibą {Configuration::get('PS_SHOP_ADDR1')} {Configuration::get('PS_SHOP_CODE')} {Configuration::get('PS_SHOP_CITY')}</p>
</div>

Oczywiście Twoją zgodę – jej treść możesz opisać inaczej 🙂 Tak samo tytuł (label) checkboxa.

Dodaj w pliku:

themes/{TWÓJ-SZABLON}/assets/js/theme.js

ten kod:

function checkRODOS(thisVAR,thisEL) {
    if (thisVAR) {
        $('#'+thisEL).removeAttr('disabled')
    } else {
        $('#'+thisEL).attr('disabled','disabled')
    }
}

Należy jeszcze przebudować cache albo wyłączyć pamięć podręczną w dziale Wydajność:

Gotowe 🙂

Finał naszych prac:

Czyli bez zaznaczenia kratki – przycisk zapisujący dostosowywanie jest nieaktywny.

Modyfikacja dla PrestaShop 1.6

Zmiany są analogiczne. Jedynie kod przycisku zmienisz w pliku:

themes/{TWÓJ-SZABLON}/product.tpl

Natomiast funkcję JavaScript doklej do pliku:

themes/{TWÓJ-SZABLON}/js/global.js

 

 

grafika: wallpaperflare.com

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Enigmatyczny formularz PayPal i wersja PrestaShop. Dziś opiszemy jak poradzić…