• Cvrlikání

    • Reklamy

    Facebook sledování konverzí Prestashop Module

    Facebook Sledování konverzí Prestashop modulu.

    Potřebujete sledovat návratnost vašich investic z reklam Facebook? S tímto snadno použitelný Prestashop modulu můžete. Tento modul automaticky přidá sledování konverzí kódu, když zákazník provede nákup, takže si můžete změřit, pokud jsou vaše reklamy pracují.

    Zde si můžete stáhnout Facebook sledování konverzí Prestashop modulu pomocí odkazu níže:
    Facebook sledování konverzí Prestashop Module

    05.5.2010 v 01:41 - Komentáře

    iPhone 3G uvazování na IPAD

    To bude možné?

    Zde jsou ceny body:

    Bude existovat důvod, aby si WiFi + 3G, pokud uvazování je možné?

    27.ledna 2010 v 14:17 - Komentáře

    Bicio GoRide iPhone Bike Mount

    GoRide iPhone Bike Mount je určen k montáži na řídítka kola, a je navržen tak, aby vám přístup k vašim iPhone, zatímco jste na koni na kole bez obětování bezpečnosti a pohodlí.

    Bicio-GoRide-iPhone-Bike-Mount

    Bicio GoRide iPhone Bike Mount

    Bicio GoRide iPhone Bike Mount

    Dodává se s ochranným pouzdrem, které můžete mít na vašem iPhone po celou dobu, pokud chcete, ten případ, pak otvory přímo do kol horu a jste připraveni jít ven na kole, aniž by se hodně úsilí.

    Pokud chcete jeden, Bicio GoRide iPhone Bike Mount je nyní k dispozici za $ 29,99 z Bicio .

    09.12.2009 v 15:11 - Komentáře

    eHow - Jak opravit sklo na iPhone

    ds_f3f0ca5c-8a00-4c3c-a2ee-cfcc8c69d329
    eHow dopisovatel

    Pokud váš iPhone 3G obrazovka je prasklá, zkontrolujte nejprve s Apple, aby zjistil, jestli vaše záruka zahrnuje opravu nebo výměnu. Tato oprava může být obtížné a mělo by být pokus pouze v případě, že obraz za sklem obrazovky je vidět.

    S těmito opatření, opravy sami by stálo asi 45 dolarů. Tato metoda od Lee Waterman obdržela několik pozitivních recenzí.

    Obtížnost: středně náročný

    Instrukce

    Věci, které budete potřebovat:

      Vezmeme-li iPhone od sebe

    1. Krok 1

      Vypněte iPhone. Vyjměte kartu SIM vložením kancelářskou sponkou do malého otvoru v horní části. Odstraňte dva šrouby ve spodní části. Zatlačte přísavkou na sklo. Vytáhnout oddělit sklo.

    2. Krok 2

      Tři kabely budou držet dva kusy dohromady. Odstranit prvních dvou pomocí sponky na papír. Třetina je pod kartu v rámci prvních dvou kabelů. Poslední kabel by měl být vytažen jemně.

    3. Krok 3

      Na obrazovce, odstranit šest šroubů: dva na jedné straně, jeden na spodní plochy za sklem, jedna viditelná na druhé straně a dvě pod pásku na této straně.

    4. Krok 4

      Chcete-li odstranit LCD, používat kancelářskou sponku na stranách, aby hák dolním rohu, která má kruh, a vytáhněte.


      Odstranění rozbité sklo

    5. Krok 1

      Pomocí pinzety vyjměte černou páskou za sklem na každé ze čtyř hran.

    6. Krok 2

      Použijte fén kolem okrajů skla pro asi 5 minut, aby teplo lepidlo.

    7. Krok 3

      Slídit sklo z plastového držáku. Ujistěte se, že odstranit všechny rozbité sklo.


      Instalace na sklo

    8. Krok 1

      Dejte lepicí pásky na horní a dolní části plastového držáku.

    9. Krok 2

      Na nové sklo obrazovky odstranit všechny film z černé spodní a horní, přičemž ochranný film na skle, takže žádné otisky prstů se dostat dovnitř. K dispozici bude pravděpodobně dva kusy film na černé části.

    10. Krok 3

      Sestava na sklo s držitelem, ujistěte se, že kabel jde do držáku. Když se dva kusy zápas nahoru, stiskněte držet skla na lepicí pásky.

    11. Krok 4

      Odstraňte film ze skla.


      Smontování

    12. Krok 1

      Dejte LCD zpět do držáku se všemi otvory pro šrouby sladěny. Stisknutím tlačítka na místě. Nahradit všechny šrouby.

    13. Krok 2

      Stiskněte všechny kabely na místo v obráceném pořadí jejich odstranění.

    14. Krok 3

      Vyrovnejte dva kusy - na obrazovce a jednotky - a stiskněte spolu s otvory seřazené.

    15. Krok 4

      Vyměňte šrouby a vaše SIM karta.



    Tipy & Upozornění

    Zdroje

    27.listopadu 2009 v 19:38 - Komentáře

    Prestashop Ruční vozíky Konverze do objednávky

    Prestashop Cart2Order Module

    Nedávno jsem měl potřebu převést zákazníka vozíky na skutečné objednávky a protože tam nebyl snadný způsob, jak udělat, aby se základní instalační kód a modul neexistoval, jsem si napsal vlastní.

    V podstatě to, co tento jednoduchý modul se je převést zákazník košíku do objednávky. Zde je návod, jak to funguje na příkladu:

    Máte-li, řekněme například Google Checkout a Paypal platební moduly instalované, pak budete mít možnost převést zákazníka vozík za použití jednoho z těchto instalován platební moduly.

    Zde si můžete stáhnout modul Cart2Order pomocí odkazu níže:
    Cart2Order Prestashop Module

    Diskusní fórum na níže uvedený odkaz:
    http://bit.ly/oTglW

    16.listopadu 2009 v 01:27 - Komentáře

    Zabránit kopírování vašich stránek šablony

    Byl jsem procházení prestashop fórum a skončil na vlákno o problém s lidmi, krádeže stránek stažením šablony soubory z adresáře tématu. To mě napadlo, že je to pravděpodobně něco, co ti z vás, kteří používají jiné šablony systémy s vaší webové stránky mohou také čelit, a tak si myslel, že post řešení i zde.

    Problém je v tom, že ačkoli PHP soubory nelze prohlížet přímo na vašem prohlížeči, můžete další zdrojové soubory budou například soubory s příponou. TPL

    Například se podívejte na následující obrázek, který má výchozí oprávnění:

    Nechráněné souboru šablony

    Nejlepším způsobem, jak ochránit vaše stránky změnit oprávnění k těmto souborům až 600. Tím se zpřístupní pouze svůj vlastní kód na serveru a současné někdo zvědavý dostatečně vyzkoušet a podívat se na ně s 403 (zakázané) chyba. Totéž platí pro PHP soubory (které však měly zobrazovat zdroj, pokud konfigurací serveru, je rozbité).

    Podívejte se na tento soubor s oprávnění nastavena na hodnotu 600:

    Chráněné souboru šablony

    Jednoduché.

    13.listopadu 2009 v 16:45 - Komentáře

    Přizpůsobení Prestashop modul Šablony

    Prosím, needitujte ty originály!

    Přišel jsem v celé této malý klenot před chvílí na fóru Prestashop, a myslel bych upozornit na to v naději, že pomůže někdo, někde.

    Nejsem si stěžovat, ale můj mazlíček je nenávist lidí, kteří upravit původní zdrojové soubory na svých prodejnách, když není potřeba. To bugged mě Zen Cart, kdy se lidé šťastně upravil "klasické" a "default" soubory šablon, pak se divil, proč to bylo těžké upgrade ... a hle lidi začali dělat totéž téma výchozí Prestashop příliš. Aaaargh! Jak těžké je udělat kopii, přejmenovat ji a upravit, aby líčení místo?

    Tam, kde můj puristické instinkty selhaly však, cesta zpět do starých špatných časů, kdy se jednalo o. Tpl soubory, které byly uloženy v modulu adresářů samotných - se zdá, jako by žádná volba, ale jejich editace, pokud chcete přizpůsobit výstupní pro svůj obchod - nebo je tam!

    Odpověď je překvapivě jednoduchá, a učiním z vás kývl hlavou v vděčné uznání ... vše, co potřebujete udělat, je vytvořit modules / adresář, do vlastního tématu adresář (i vás nebude pracovat v adresáři výchozí motiv teď jste), zkopírujte původní. tpl z modulu adresář do něj a upravte pryč, co srdce ráčí.

    Jako příklad, můžete si vzít soubor šablony z blockadvertising modul (blockadvertising.tpl) a kopie pod / Témata / mycooltheme / modules / blockadvertising. Nyní upravte kopii originálu, které vypadaly jako:

    
    
    (L s = 'mod Reklama' = 'blockadvertising')

    na

    
    
    (Ls = 'fantastické místo pro mod Prestashop dobroty' = 'blockadvertising')

    Pure radost! Ačkoliv pozorný všimne, že pokud budete editovat ($ image) variabilní a místo statického cestu k vaší grafické na svém místě, pak budete muset změnit obrázek v adresáři modulu .... stejně nemůžete mít všechno myslím.

    13.listopadu 2009 v 16:13 - Komentáře

    Psaní vlastních Prestashop Module - Část 5

    Závěrečné kroky

    Úvod

    V této závěrečné části našeho základního modulu psaní tutorial série se podíváme na poslední kroky k přeměně naší Tutorialthird modul třídy do základní šablony, které můžeme využít k nastartování psaní nových modulů. Spíše než publikovat stejný starý kód jsme opět bude jen diskutovat o změnách, ale jsem přidal odkaz ke stažení na konci této části so you můžete urvat final kód a používat jako podklad pro své vlastní projekty. Budeme volat tento modul "Kostra" - jméno, které budeme nahradit s naší vlastní, pokud jde o výrobu nových modulů na něm založených.

    Styling konfigurace formulář

    První změny, budeme dělat, jsou čistě kosmetické, nicméně toto je důležitým prvkem, protože chceme zajistit konzistentní rozhraní pro naše uživatele. Naše forma kód vypadal:

    	 soukromé funkce _displayForm ()
    	 (
    		 $ This-> _html .= '
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    				 <label> '. $ this-> l (' poselství světu').'</ label>
    				 <div class="margin-form">
    
    					 <input type="text" name="our_message" />
    				 </ Div>
    				 <input type="submit" name="submit" value="'.$this-> l ('Update').'" class = "Tlačítko" />
    
    		 </ Form> ';
    	 )
    

    Úmluva o těchto nastavení obrazovky je zabalit nastavení v fieldset, a budeme také muset přidat pěkný přátelský (překlad), legenda kompletní s ikonou. Náš kód bude nyní vypadat následovně:

    	 soukromé funkce _displayForm ()
    	 (
    		 $ This-> _html .= '
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    
    			 <fieldset>
    				 <legend> <img src="../img/admin/cog.gif" alt="Pohlednice class="middle" /> '. $ this-> l (' Nastavení').'</ legend>
    
    				 <label> '. $ this-> l (' poselství světu').'</ label>
    				 <div class="margin-form">
    					 <input type="text" name="our_message" />
    
    				 </ Div>
    			 <input type="submit" name="submit" value="'.$this-> l ('Update').'" class = "Tlačítko" />
    
    			 </ Fieldset>
    		 </ Form> ';
    	 )
    

    Naše konečné kosmetické změny, je přidání čísla v horní části našeho nastavení obrazovky pouze v případě, že uživatel zapomněl, kde jsou! Děláme to přidáním následujícího řádku na začátku getContent () funkce:

     $ This-> _html .= '<h2>'. $ This-> displayName. '</ H2>';
    

    Pre-naplnění konfigurace pole formuláře

    Další chybějící element z našeho původního tutorial design byl zobrazení aktuálního nastavení v konfiguraci modulu formě, a to i když formě se vrátí z aktualizaci hodnot pole prázdné, takže musíme opravit závadu příliš. Existují dvě možnosti, které musíme zvládnout:

    1. Počáteční zobrazení formuláře je zobrazení aktuální konfigurace (pokud existuje)
    2. Po formulář update bychom měli zobrazit údaje zadané uživatelem

    Můžeme použít Configuration:: get () funkce pro načtení aktuálního nastavení z databáze, a Nástroje:: getValue () dostat obsah pole. Nástroje:: getValue () Funkce má druhý parametr což je užitečné v této souvislosti, jak to stanoví "default" pro používání by mělo být pole prázdné. Nyní můžeme nastavit "hodnota" atributu z našich vstupních značky vhodně pomocí těchto dvou funkcí, takže naše konečné podobě vstupní kód bude:

     <input type="text" name="our_message" value="'.Tools::getValue('our_message', Configuration::get($this-> jméno. '_message')).'"/>
    

    Další užitečnou změnou, aby se při jednání s několika polích v konfiguraci pro je přesunout aktualizaci databáze kód je vlastní funkce. Za tímto účelem jsme nahradí linka:

    
     if (! sizeof ($ this-> _postErrors))
    	 (
    		 Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message'), true);
    		 $ This-> _html .= '<div class="conf confirm">'. $ This-> l ('Nastavení aktualizováno').'</ div>';
    	 )
    

    s následujícím:

     if (! sizeof ($ this-> _postErrors))
    	 $ This-> _postProcess ();
    

    A přidáme nové soukromé členskou funkci naší třídy zvládnout skutečné aktualizací v jediném, snadno identifikovat místo:

    	 soukromé funkce _postProcess ()
    	 (
    		 Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message'), true);
    
    		 $ This-> _html .= '<div class="conf confirm">'. $ This-> l ('Nastavení aktualizováno').'</ div>';
    	 )
    

    Manipulace s jinými typy polí

    V závěrečné download skeletu modulu jsem také přidal příklady dalších typů polí, které bude působit jako užitečné klávesové zkratky pro vytvoření vaší konfiguraci modulu formuláře. To se vztahuje na políčka, přepínače, textarea a drop-dolů seznamy. Vše, co musíte udělat, je přidat / přejmenovat pole, přidat jakýkoliv ověření požadované _postValidation () a změnit aktualizovat kód v _postProcess () funkci vhodně.

    Pro povinné nastavení, měli byste také test pro jejich přítomnost v nainstalovat funkci a přijmout vhodná opatření, aby se vaše modul způsobuje chyby v Front Office, např. stanovením vhodné výchozí nastavení pomocí konfigurace:: updateValue () funkce. Případně to lze provést v modulu konstruktoru, ačkoli to je více správné provádět tato doba do instalace ().

    Přidání více displejů umístění háčků

    Naše Tutorialthird modul by mohl zobrazit pouze náš obsah v levém sloupci, protože to byl jediný háček jsme realizovali. Naštěstí je to velmi snadné provést "transplantační modul" BackOffice funkčnost v našem kódu. V nejjednodušší podobě budeme prostě používat stejný výkon ve všech lokalitách, ale v případě potřeby všech těchto dodatečných háčků mohou produkovat různé výsledky.

    Chcete-li produkovat stejný výstup ve všech populárních lokalit, pouze jsme je třeba provést další háček funkce v našem modulu a zavolat původní hák kód pro generování výstupu. Všimněte si, že jsme jen skutečně volat registerHook () pro výchozí v instalaci () členskou funkci, a nechte Back Office zvládnout registraci jiných.

    	 Funkce hookRightColumn ($ params)
    	 (
    		 návrat $ this-> hookLeftColumn ($ params);
    	 )
    
    	 Funkce hookTop ($ params)
    	 (
    		 návrat $ this-> hookLeftColumn ($ params);
    	 )
    
    	 Funkce hookHome ($ params)
    	 (
    		 návrat $ this-> hookLeftColumn ($ params);
    	 )
    
    	 Funkce hookFooter ($ params)
    	 (
    		 návrat $ this-> hookLeftColumn ($ params);
    	 )
    

    Přehled

    Přes tuto sérii článků, měli byste se dozvěděli, jak se základní modul systém funguje v Prestashop a být schopen kód moduly, které poskytují výstup na různé prezentace oblastí v Front Office. Budete mít také dobrý kód rámec založit svůj vlastní moduly pro. Možná jste si všimli, že v žádném okamžiku jsme se skutečně používá smarty nebo soubory šablon při vytváření našeho modulu - to je záměrné, protože mohou být považovány za samostatný subjekt z modulu samotné konstrukci.

    Smarty je vysoce flexibilní, ale na výběr, zda používat, je založeno na mnoha faktorech, a pro výkon z důvodů, že je nejlepší, aby se zabránilo jeho použití pokud je to vůbec možné. Později články budou zkoumat, jak a kdy používat smarty, aby posílily své moduly funkčnost i když, jak to je základní součástí architektury Prestashop.

    Zde si můžete stáhnout kompletní kostry modulu kódu pomocí odkazu níže:

    Kostra v0.1.0

    13.listopadu 2009 v 15:49 - Komentáře

    Psaní vlastních Prestashop Module - Část 4

    Formulář Potvrzení a bezpečnost

    Úvod

    A zároveň dostatečně funkční na to, co dělá, modulu jsme vytvořili v části 2 se před nás staví některé otázky ke zvážení při zavádění "reálného světa" moduly rozšířit Prestashop. Zejména uživatelského vstupu jsme zajali s naší formou byla napsána přímo na konfiguraci vstupu bez jakékoliv kontroly určit, zda to bylo platné, ani jsme s ohledem na typ dat jsou zadané.

    V tomto tutoriálu se podíváme na obecný problém kontroly formy vstupu a zabezpečení, a to jak pro Back Office a Front Office formulářů a uživatelských vstupů, stejně jako při pohledu na zlepšení našeho kódu i funkčně a esteticky.

    Konfigurace třídy upravován

    V části 3 Dotkli jsme se krátce na další parametr, který může být přenesena na konfiguraci:: updateValue () metodě třídy. Pokud si vzpomínáte funkce má následující tvar:

      updateValue ($ key, $ hodnoty, $ html = false); 

    V části 3 jsme ignorovali $ html parametru a nemá funkci použít výchozí hodnotu "false". Při této práci jsme se vlastně nechtěně přidal první prvek zabezpečení a ověřování náš kód. Je-li nastaveno na "false jen" updateValue () metoda skutečně pre-procesy hodnota má být napsán s použitím následující kód ($ string je vstupní hodnota přešel do funkce):

      $ String = strip_tags (nl2br2 ($ string)); 

    Si můžete vyzkoušet na to vložením HTML do konfigurační obrazovka pro modulu jsme vytvořili v části 3. Měli byste vidět, že žádné HTML tagy na vašem vstupu budou odstraněny. Mohli bychom změnit modul TutorialSecond umožnit vstup html ve formě, změnou řádku 29 ve zdrojovém souboru:

      Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message', true)); 

    To dokládá základní zásadu, že potřebujeme zaměstnávat celé naší vlastní kód, aby zajistily, že je bezpečná a funguje předvídatelně. Naštěstí Prestashop nám poskytuje některé nástroje, které můžeme použít ve vlastním kódu tak, aby byl bezpečný a robustní.

    Validace

    Prestashop nám poskytuje třída s názvem potvrdili, že můžeme použít k určení, zda žádný vstup uživatele akceptujeme je platná či nikoli. Seznam členských funkcí je poměrně velké, ale stojí to za reprodukci některé z nich zde Pro větší názornost - pro úplný seznam, měli byste konzultovat třídy / Validate.php soubor ve vaší distribuce Prestashop.

     isEmail ($ email);
     isFloat ($ float);
     isUnsignedFloat ($ float);
     isCleanHtml ($ html);
     ISDATE ($ datum);
     isBool ($ bool);
     isPhoneNumber ($ phoneNumber);
     isPostCode ($ poštovní směrovací číslo);
     isInt ($ int);
     isUnsignedInt ($ int);
     isUnsignedId ($ id);
     isNullOrUnsignedId ($ id);
     isUrl ($ url);
     isAbsoluteUrl ($ url);
     isFileName ($ name);
    

    Jako příklad můžeme použít isCleanHtml () funkce z výše uvedeného seznamu jako test v našem modulu, aby se zabránilo XSS (cross site scripting) - tak si můžeme dovolit html vstup rozumné bezpečně.

    Ověřování našeho formuláře data

    Stejně jako dříve budeme vytvořit nový modul založený na předchozí verzi. Proč ne namáhat, kterým se mění třída Tutorialsecond sami vytvořit modul Tutorialthird? Pokud byste raději ne, pak jen rozbalte a zkopírujte níže uvedený kód v případě potřeby!

     <? Php
     třída Tutorialthird rozšiřuje modul
     (
    	 soukromé $ _html ='';
    
    	 Funkce __construct ()
    	 (
    		 $ This-> name = 'tutorialthird';
    		 rodiče:: __construct ();
    
    		 $ This-> karta = '' eCartService.net Návody;
    		 $ This-> version = "0 .1.0 ';
    		 $ This-> displayName = $ this-> l ('Třetí výuka modulu');
    		 $ This-> popis = $ this-> l ('Naše třetí modul - Bezpečnost a validace');
    	 )
    
    	 veřejné funkce dosadit ()
    	 (
    		 rodiče:: install ();
    
    		 if (! $ this-> registerHook ('leftColumn'))
    			 return false;
    	 )
    
    	 veřejné funkce getContent ()
    	 (
    		 if (Tools:: isSubmit ('submit'))
    		 (
    			 Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message'));
    		 )
    
    		 $ This-> _displayForm ();
    
    		 návrat $ this-> _html;
    	 )
    
    	 soukromé funkce _displayForm ()
    	 (
    		 $ This-> _html .= '
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    
    				 <label> '. $ this-> l (' poselství světu').'</ label>
    				 <div class="margin-form">
    					 <input type="text" name="our_message" />
    
    				 </ Div>
    				 <input type="submit" name="submit" value="'.$this-> l ('Update').'" class = "Tlačítko" />
    
    		 </ Form> ';
    	 )
    
    	 veřejné funkce hookLeftColumn ()
    	 (
    		 návrat '<div class="block"> <h4>'.  Konfigurace:: get ($ this-> jméno. '_message').  '</ H4> </ div>';
    	 )
    
     )
     / / Konec: tutorialthird.php
    

    První etapu v procesu je změnit naše getContent () funkce pro přidání fáze validace:

    	 veřejné funkce getContent ()
    	 (
    		 if (Tools:: isSubmit ('submit'))
    		 (
    			 $ This-> _postValidation ();
    
    			 if (! sizeof ($ this-> _postErrors))
    			 (
    				 Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message'), true);
    				 $ This-> _html .= '<div class="conf confirm">'. $ This-> l ('Nastavení aktualizováno').'</ div>';
    			 )
    			 jiný
    			 (
    				 foreach ($ this-> _postErrors AS $ ERR)
    				 (
    					 $ This-> _html .= '<div class="alert error">'. $ Err. '</ Div>';
    				 )
    			 )
    		 )
    
    		 $ This-> _displayForm ();
    
    		 návrat $ this-> _html;
    	 )
    

    Musíme také přidat deklarace za $ _postErrors členské proměnné jsme zavedli na začátku naší definici třídy, např.

     třída Tutorialthird rozšiřuje modul
     (
    	 soukromé $ _html ='';
    	 soukromé $ _postErrors = array ();
    

    Logický tok, když jsme odesílání dat na getContent () je nyní volat naše _Validation () funkce pro testování předložené pole a nastavit naše $ _postErrors pole s nějaké chybové zprávy. Pokud tam jsou chyby, můžeme zobrazit před redisplaying formuláře. Pokud kontroly platnosti jsou předány, pak jsme se zobrazí "úspěšnou" zprávu poskytnout vizuální zpětnou vazbu, že konfigurace byla aktualizována. Jednoduchý test XSS v _Validation () funkce pro náš příklad by mohl být:

    	 soukromé funkce _postValidation ()
    	 (
    		 if (! Ověřit:: isCleanHtml (Tools:: getValue ('our_message')))
    			 $ This-> _postErrors [] = $ this-> l ('zprávu, kterou jste zadali není dovoleno, sorry');
    	 )
    

    Pochopitelně nejste omezeni na použití testů dodaných třídy Ověřit, a můžete také použít více testů u každé podané pole - ke zkouškám na délku, atd. Základním principem je stejný ve všech případech, bez ohledu na to, jak složitý váš ověření požadavky.

    Přehled

    V tomto článku jsme zlepšili na naší formě manipulace přidáním validace uživatelských vstupů pro zvýšení bezpečnosti a / nebo spolehlivost. Přidali jsme také některé vizuální zpětnou vazbu, kdy je konfigurace byla aktualizována úspěšně. V závěrečné části tohoto seriálu jsme si přidali nějaké konečné kosmetické dotkne se náš formulář na standardizaci rozhraní a lepší použitelnost. Budeme se také podívat na nápady na zlepšení a rozšíření "šablony" modulu jsme vytvořili.

    13.listopadu 2009 v 15:35 - Komentáře

    Psaní vlastních Prestashop Module - Část 3

    Ukládání konfigurace modulu

    Úvod

    Ve třetí části tohoto seriálu se podíváme na to, jak můžeme ukládat konfigurační data pro naše moduly v databázi Prestashop, a jak můžeme umožnit uživatelům interakci s tato data k ovládání modulu chování. Budeme také stručně se dotýkají jak můžeme generovat výstup z našeho modulu poskytnout vizuální zpětnou vazbu na změny v konfiguraci.

    Správa uživatelských nastavení

    Budeme volat tento modul "TutorialSecond", takže jsme opět potřeba vytvořit nový modul adresář a třídě soubor - který bude mít název "tutorialsecond" a "tutorialsecond.php", resp. Třída soubor (tutorialsecond.php) by měl obsahovat následující:

      <? Php
     třída Tutorialsecond rozšiřuje modul
     (
    	 soukromé $ _html ='';
    
    	 Funkce __construct ()
    	 (
    		 $ This-> name = 'tutorialsecond';
    		 rodiče:: __construct ();
    
    		 $ This-> karta = '' eCartService.net Návody;
    		 $ This-> version = "0 .1.0 ';
    		 $ This-> displayName = $ this-> l ('druhá výuka modulu');
    		 $ This-> popis = $ this-> l ('Náš druhý modul - "Hello world" Redux');
    	 )
    
    	 veřejné funkce getContent ()
    	 (
    
    	 )
    
    	 soukromé funkce _displayForm ()
    	 (
    
    	 )
    
     )
     / / Konec: tutorialsecond.php 

    Všimněte si, že jsme zavedli dva nové členské funkce:: getContent () a:: _displayForm (). Pokud nahrajete soubor na server a nainstalovat tento modul v této fázi byste měli vidět novou možnost na modulech obrazovce seznamu pro 'druhé výuka modulu'. Tam bude nyní ">> Konfigurovat" odkaz v modulu vstupu, i když kliknete, bude to pouze vrátí prázdnou stránku Back Office. Přítomnost:: getContent () členskou funkci je zodpovědný za to, protože poskytuje rozhraní mezi našimi modul a Back Office.

    Kromě těchto dvou nových funkcí také jsme přidali $ _html soukromé členské proměnné, které budeme používat dále v tomto článku k vybudování potřebných výstup pro zobrazení v Back Office.

    Ukládání a načítání konfiguračních dat

    Prestashop poskytuje "Konfigurace" třídy, která nabízí několik členských funkcí pro manipulaci s konfigurační data, ale dvě klíčové funkce, které budou nejčastěji používané jsou:

      Konfigurace:: updateValue ($ key, $ hodnoty, $ html = false);
     Konfigurace:: get ($ key, $ id_lang = NULL); 

    Konfigurace:: updateValue () funkce nám umožňuje uložit konfigurační volby v databázi (volitelně ve více jazycích, ve kterých případech $ hodnoty parametru bude pole) a konfigurace:: get () funkce nám umožňuje načíst konfigurační data pro vybrané nebo ukládat výchozí jazyk. Budeme ignorovat parametry, které mají standardní hodnoty pro tuto chvíli, ale znovu se $ html parametr v konfiguraci:: updateValue () funkce v dalším článku, když se podíváme na téma formy ověření.

    Provádění Konfigurace obrazovky

    V našem zdrojovém souboru, jsme vytvořili vlastní členskou funkci _displayForm (). To je čistě dobrovolná jako všechny rozhraní kód může být umístěn v getContent () členskou funkci, ale je vysoce doporučeno oddělené na to z důvodu snadnější údržby kódu. Budeme-li vytvořit jednoduchý formulář v této funkci od, s nímž můžeme zachytit majitel obchodu vstupu.

      soukromé funkce _displayForm ()
    	 (
    		 $ This-> _html .= '
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    				 <label> '. $ this-> l (' poselství světu').'</ label>
    				 <div class="margin-form">
    
    					 <input type="text" name="our_message" />
    				 </ Div>
    				 <input type="submit" name="submit" value="'.$this-> l ('Update').'" class = "Tlačítko" />
    
    		 </ Form> ';
    	 ) 

    Můžete vidět, že:: _displayForm () funkce jednoduše připojí standardní html kód formuláře na našich $ _html členské proměnné, s formou cíl je $ _SERVER ['] REQUEST_URI'. Prestashop je Back Office architektury bude trasa to naše:: člen getContent třída funkce pro nás zvládnout, když je zveřejněn formulář.

    My vedle potřeba přidat kód, aby naše:: getContent () funkci skutečně zobrazí formulář, a manipulaci s formou podání.

      veřejné funkce getContent ()
    	 (
    		 if (Tools:: isSubmit ('submit'))
    		 (
    			 Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message'));
    		 )
    
    		 $ This-> _displayForm ();
    
    		 návrat $ this-> _html;
    	 ) 

    Se:: getContent () funkce prvního použití jiné třídy Prestashop "Nástroje" a vyzkoušet, zda jsme manipulace po akci z formuláře, nebo zda tato funkce je jen jiným způsobem, tj. kliknutím na tlačítko "Konfigurovat" odkaz v modulu Seznam - parametr je název jsme dali na naše tlačítko "Aktualizovat" ve formě.

    Je-li funkce je nazývá přímo Back Office (v tomto případě Nástroje:: isSubmit ('submit') vrátí false), pak říkáme formě rendering funkce jsme vytvořili výše a vrátí výstup, zachycená v $ this- > _html proměnná, do Back Office pro zobrazení.

    Je-li funkce je označována jako výsledek našeho formuláře je vyslán, pak můžeme uložit naše nastavení parametru v databázi se zadané hodnoty na našem formuláři. Jsme opět použít třídu Nástroje pro získání hodnoty proměnné formuláře pomocí volání Nástroje:: getValue ('our_message'), kde 'our_message' je název vstupního pole v našem formuláři.

    Můžete vidět, že jsem přidal jméno našeho modulu na začátku nastavení položky jméno - to je zajistit, aby konfigurace klíč je jedinečný jako namespace pro tyto klíče je společné pro celý obchod.

    Jakmile budeme mít uloženy náš konfigurační data formuláře je opět zobrazí, připravený pro více vstupů v případě potřeby.

    Modul Výstup na stránku

    Nyní máme způsob zachycení informace od majitele obchodu a uložení do databáze, takže další zjevné krokem by bylo udělat něco, co s ním např. zobrazení na stránce. V části 1 cyklu jsme hovořili o "háčky" ve vztahu k modulům přidání funkcionality. Aby bylo možné využít tuto musíme říct, PrestaShop, že náš modul by rád hák do kanceláře přední a my to pomocí následujících funkcí (definované ve třídě základní modul):

      $ This-> registerHook ($ hook_name); 

    Dolarů, hook_name parametr se vztahuje k jednomu z různých míst, že hlavním Prestashop umožňuje moduly pro vložení výstupu a / nebo zpracování dat, ale pro teď budeme používat jednu především - "leftColumn ', který nám umožňuje přidávat obsah v levém sloupci všech stránek. Za účelem inicializaci hák musíme přidat následující nový přednost v naší třídě:

      veřejné funkce dosadit ()
    	 (
    		 rodiče:: install ();
    
    		 if (! $ this-> registerHook ('leftColumn'))
    			 return false;
    	 ) 

    To říká, Prestashop vykonat náš modul háček, pokud je rendering obsahu pro levý sloupec ze všech stran. My vedle potřeba přidat funkci zvládnout hák zpětné volání. Úmluva je název funkce jako jméno hák předchází "háček":

      veřejné funkce hookLeftColumn ()
    	 (
    		 návrat '<div class="block"> <h4>'.  Konfigurace:: get ($ this-> jméno. '_message').  '</ H4> </ div>';
    	 ) 

    V našem jednoduchém příkladu jsme jen obal naší konfigurační parametr v některých standardních HTML značek tak, že je zobrazena správně na naší stránce.

    Pokud jste již nainstalovali modul Nyní byste měli odinstalovat znovu nainstalovat, aby zajistily, že hák je správně zapsána s jádrem Prestashop. Nyní můžete zadat hodnoty v konfigurační obrazovka pro modul - např. 'Hello World' a bude výstup jako nadpis pole v levém sloupci vašeho obchodu. Úplný kód pro druhý příklad by měl nyní vypadat následovně:

      <? Php
     třída Tutorialsecond rozšiřuje modul
     (
    	 soukromé $ _html ='';
    
    	 Funkce __construct ()
    	 (
    		 $ This-> name = 'tutorialsecond';
    		 rodiče:: __construct ();
    
    		 $ This-> karta = '' eCartService.net Návody;
    		 $ This-> version = "0 .1.0 ';
    		 $ This-> displayName = $ this-> l ('druhá výuka modulu');
    		 $ This-> popis = $ this-> l ('Náš druhý modul - "Hello world" Redux');
    	 )
    
    	 veřejné funkce dosadit ()
    	 (
    		 rodiče:: install ();
    
    		 if (! $ this-> registerHook ('leftColumn'))
    			 return false;
    	 )
    
    	 veřejné funkce getContent ()
    	 (
    		 if (Tools:: isSubmit ('submit'))
    		 (
    			 Konfigurace:: updateValue ($ this-> jméno. '_message', Nářadí:: getValue ('our_message'));
    		 )
    
    		 $ This-> _displayForm ();
    
    		 návrat $ this-> _html;
    	 )
    
    	 soukromé funkce _displayForm ()
    	 (
    		 $ This-> _html .= '
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    
    				 <label> '. $ this-> l (' poselství světu').'</ label>
    				 <div class="margin-form">
    					 <input type="text" name="our_message" />
    
    				 </ Div>
    				 <input type="submit" name="submit" value="'.$this-> l ('Update').'" class = "Tlačítko" />
    
    		 </ Form> ';
    	 )
    
    	 veřejné funkce hookLeftColumn ()
    	 (
    		 návrat '<div class="block"> <h4>'.  Konfigurace:: get ($ this-> jméno. '_message').  '</ H4> </ div>';
    	 )
    
     )
     / / Konec: tutorialsecond.php 

    Přehled

    V tomto článku jsme rozšířili náš první modul obsahuje základní konfiguraci formu a využili háček funkce pro zobrazení výstupu z našeho modul v levém sloupci našich stránek. V další části tohoto seriálu se podíváme na zlepšení konfiguraci zařízení v něco, co by mohly být použity v reálném modulu provedení. To bude zahrnovat validaci uživatelského vstupu na formulář, pre-obývat polí formuláře případně na základě aktuální konfiguraci a zobrazení modulu chyb a varování v zádech obrazovkách Office.

    13.listopadu 2009 v 15:28 - Komentáře