Jak vytvořit privátní eshop
Neděle, 17 Říjen 2010 20:43
V dalším ze článků o Prestashopu se pustím do programování. Ukážeme si jak vytvořit privátní eshop, do kterého budou mít přístup pouze registrovaní uživatelé. To se hodí například pokud chcete svým obchodním partnerům nabídnout nákup za velkoobchoní ceny, nebo pro testování. Tento článek předpokládá alespoň základní znalosti html.
Bez delšího otálení jdeme na to. Jako první musíme upravit soubor prestashopu tak, aby nebylo možné zobrazit jakoukoliv stránku bez přihlášení. Otevřeme si tedy soubor header.php z kořenové adresáře a před
Ten nám říká, že pokud není uživatel přihlášen, nebo pokud nebylo stisknuto tlačítko na registraci, přesměruj na přihlášení. Soubor login_form.php zatím neexistuje. Musíme ho tedy vytvořit otevřeme si tedy například PsPad a vytvoříme nový soubor s názvem login_form.php. Do něj vložíme
Jak vidíme, nepřidali jsme nic převratného. Většina kódu jsou jen styly a nějaký formulář na přihlášení. Co je ovšem důležité je aby zpracování formuláře prováděl soubor authentication.php. Je tedy nutné nastavit parametr action u tagu form na action="authentication.php". Jednoduché že, ani jsme nemuseli napsat řádku php kódu. Vše za nás obstará již existující soubor prestashopu. Jediná nevýhoda toho zpracování je, že nevidíme chybovou hlášku, pokud vyplní uživatel nesprávné údaje. I to by se určitě dalo zobrazit, ale pro jednoduchost nám stačí mít soubor takto.
Předchozí kód zajišťuje autentizaci uživatele a všechny potřebné úkony provedené po přihlášení.
Jistě jste si všimli odkazu na konci stránky s přihlášením, který směřuje na registraci. To už je na Vás, zda-li chcete umožnit, uživatelům se registrovat a nebo budete nové uživatele zakládat pouze v adminu. Pokud chcete umožnit registraci je nutné založit další soubor. Nazveme ho register_form.php a opět uložíme do kořenového adresáře. Celý soubor je k dispozici zde zabalený v zipu. Je to vlastně totožný s formulářem pro registraci v prestashopu. Je v něm použita validace pomocí jQuery. Je tedy ještě nutné stáhnout plugin pro jquery validate. Samotný jQuery balíček již Prestashop využívá proto není nutné ho stahovat, pouze přejmenovat název souboru v hlavičce, dle aktuálního souboru ve složce js/jquery/. Akci formuláře opět převezme soubor authentication.php. Pokud uživatel vyplní chybně některá data, dostane se do prestashopu, kde se zobrazí chybová hláška, částečně však může vidět ceny v některých modulech postranních modulů. Je tedy dobré provést veškerou validaci již v souboru register_form.php, pokud chceme obchod důkladně skrýt před běžnými uživateli.
Stáhnout všechny nové a upravené soubory (nenahrazujte soubory authentication.php a header.php pouze přidejte potřebné části kódu)
To je vše, dále už jen ukážu printscreeny jak může login a registrace vypadat. Soubory byly testovány pro verzi 1.2, veřím ale, že budou fungovat i pro 1.3. Pokud ne, je nutné upravit názvy polí ve formulářích stejně jako v originálních souborech prestashopu. V případě problémů můžete psát do diskuze, pokud bude někdo ochoten otestovat tento postup na verzi 1.3 budeme rádi pokud nám dá vědět.


Přidej Váš komentář
Další odkazy
Spřátelené weby
Anketa
Uživatelé na chatu
- No users online