ΠΑΤΗΣΤΕ ΓΙΑ ΝΑ ΔΕΙΤΕ ΤΟ ΜΕΝΟΥ
Ακολουθήστε μας στο Facebook!
Generic selectors
Ακριβή αποτελέσματα
Αναζήτηση στους τίτλους
Αναζήτηση στο περιεχόμενο
Αναζήτηση σε άρθρα
Αναζήτηση σε σελίδες
Φίλτρο ανά κατηγορία
Css
Editor's Blog
jQuery
Linux
MySQL
PHP
Prestashop
Projects
Software
VB.net
Wordpress
Διαδίκτυο
Επιστήμη
Τεχνολογία

Εισαγωγή recaptcha σε Prestashop

Όταν οι smammers μας σπάνε τα νεύρα στο prestashop τότε χρησιμοποιούμε το recapcha της Google. Στις περισσότερες περιπτώσεις θα μας προστατέψει από ενοχλητικά μηνύματα.

1. Στο contact-form.tpl του template μας πάμε ακριβώς πριν το submit button. Κάτι σαν το κάτω κομμάτι κώδικα.

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

Προσθέτουμε τις δύο γραμμές (όπου key το key από το recaptcha)

<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="key"></div>


2. Πηγαίνουμε στο controllers/front/ContactController.php ή στο αντίστοιχο override.
if (Tools::isSubmit('submitMessage')) {
 $extension = array('.txt', '.rtf', '.doc', '.docx', '.pdf', '.zip', '.png', '.jpeg', '.gif', '.jpg');
 $file_attachment = Tools::fileAttachment('fileUpload');
 $message = Tools::getValue('message'); // Html entities is not usefull, iscleanHtml check there is no bad html tags.
 $id_order = (int)$this->getOrder();
 if (!($from = trim(Tools::getValue('from'))) || !Validate::isEmail($from)) {
 $this->errors[] = Tools::displayError('Invalid email address.');
//ΠΡΟΣΘΕΤΟΥΜΕ ΑΥΤΟ ΤΟ ΚΟΜΜΑΤΙ  ΑΠΟ ΕΔΩ
 } elseif (!($gcaptcha = (int)(Tools::getValue('g-recaptcha-response')))) {
 $this->errors[] = Tools::displayError('Captcha error');
// ΜΕΧΡΙ ΕΔΩ
 

Advertisement

Θεόδωρος Τασσόπουλος
Αρθρογράφος: Θεόδωρος Τασσόπουλος
Ηλεκτρονικός Μηχανικός - MSc in Networking & Data Communications - Ασχολούμαι με το Web Design και τον προγραμματισμό από τις αρχές του 2000. Δεν δίνω ούτε μια δεκάρα για προϊόντα της apple και καταναλώνω αρκετές ώρες καθημερινά στο gaming. Ξεκινάω συνεχώς νέα project χωρίς να υπάρχει τις περισσότερες φορές η προοπτική του κέρδους. Μισώ του δημοσιογράφους. Όλους. Έναν προς έναν.