Prestashop regisztráció kibővítése egy checkbox-al vagy egy szövegmezővel
Bizonyos esetekben szükséges lehet az eredeti regisztráció kibővítésére pipálós checkbox-okkal vagy új, egyedi szövegmezőkkel ahhoz hogy kellően testre szabott legyen a shopunk:
A regisztráció látványvilágáért a /themes/tetemad/ könyvtárban lévő authentication.tpl felel. Így ide kell beépítenünk mindennemű vizuális elemet: így a checkbox-okat, a szövegmezőket és minden mást amire szükségünk lehet.
Példánkban a harmadik checkbox-ot fogom létrehozni, így a “Különleges ajánlatok partnereinktől” checkbox után a következő kód kerül a tpl-be:
<p class="checkbox" >
<input type="checkbox" name="elsorendelesajandek" id="elsorendelesajandek" value="1" />
<label for="elsorendelesajandek" title="Első rendelésednél kapsz egy ajándék tollat, ha ezt bepipálod">{l s='Első rendelésemnél kérek ajándék tollat'}</label>
</p>
Ha látjuk hogy megjelenik úgy ahogyan mi szeretnénk, akkor menjünk a feldolgozáshoz:
ezért a részért a /controllers/front/AuthController.php felel. Nyissuk meg és a megfelelő helyre tegyük be az alábbi kódot:
$elsorendelesajandek = $_POST['elsorendelesajandek'];
Ezzel “elkaptuk” a checkbox értékét (0 vagy 1) és elmentettük az “$elsorendelesajandek ” változóba. Innentől pedig aztán szabad az út a felhasználásra…
Én például feltöltöm az adatbázisba (előtte létrehoztam a megfelelő helyet számára) ahol aztán a célnak megfelelően lekérdezem a későbbiekben (például rendelés feladása előtt). Aki esetleg nem akar “bajlódni” a szóban forgó php-beli szintaxissal a feltöltést illetően, az nyugodtan megadhatja direkt is:
$kapcsolat = mysql_connect("localhost", "felhasznalo", "jelszo") or die (print "HIBA".mysql_error());
mysql_select_db("adatbazisneve",$kapcsolat) or die (print "HIBA".mysql_error());
$res = mysql_query("UPDATE `adatbazisneve`.`ps_customer` SET `elsorendelesajandek` = '".mysql_real_escape_string($elsorendelesajandek)."' WHERE `ps_customer`.`id_customer` ='".mysql_real_escape_string($customer->id)."'") or die (print "HIBA".mysql_error());
Új szövegmező hozzáadása ugyanezen elven működik.
Eladásra fel! 🙂