• Кикотене

    • Реклама

    Facebook проследяването на реализациите Prestashop Модул

    В Facebook проследяването на реализациите Prestashop модул.

    Необходимо е да следите възвръщаемостта на инвестициите от реклами, Facebook? С този лесен за използване Prestashop модул можете. Този модул автоматично добавя проследяване на реализациите, когато клиентът прави покупката, така че може да се измери, ако рекламите са на работа.

    Можете да изтеглите Facebook проследяването на реализациите Prestashop модул с помощта на връзката по-долу:
    Facebook проследяването на реализациите Prestashop Модул

    5-ти май 2010 в 01:41 часа - Коментари

    iPhone 3G връзване на вашия IPAD

    Ще бъде ли възможно това?

    Ето и цените точки:

    Ще има ли причина да получите WiFi + 3G ако връзване е възможно?

    27-ми януари 2010 г в 14:17 часа - Коментари

    Bicio GoRide iPhone Bike Mount

    В iPhone GoRide Bike Mount е проектиран да бъде монтиран на кормилото си мотор, и е предназначена да ви осигури достъп до вашия iPhone докато сте езда вашия мотор без да се жертват за безопасност и удобство.

    Bicio-GoRide-iPhone-Bike-Mount

    Bicio GoRide iPhone Bike Mount

    Bicio GoRide iPhone Bike Mount

    Той идва със защитна случай, в който можете да съхранявате на вашия iPhone през цялото време, ако искате, случаят тогава слотове направо в наем планината и сте готови да отидете на вашия под наем, без да се много усилия.

    Ако искате една страна, на Bicio GoRide iPhone Bike планината вече се предлага за $ 29,99 от Bicio .

    9-ти 12, 2009 в 15:11 часа - Коментари

    eHow - Как да Ремонт на стъкло на iPhone

    ds_f3f0ca5c-8a00-4c3c-a2ee-cfcc8c69d329
    eHow Принос Писател

    Ако вашият iPhone 3G екран е смахнат, проверете първо с Apple, за да видите дали вашите Гаранцията покрива ремонт или замяна. Тази поправка може да бъде трудно и трябва да се опита, само ако изображението зад стъклото на екрана се вижда.

    С тези предпазни мерки, тя ремонт себе си би следвало да струва около $ 45. Този метод на Лий Waterman получи няколко положителни отзиви.

    Трудност: Умерено Предизвикателство

    Инструкции

      Тъй като iPhone, освен

    1. Стъпка 1

      Изключете iPhone. Извадете СИМ-карта чрез вмъкване на кламер в малкия отвор в горната част. Отстранете двата винта в долната част. Натиснете вендузата върху стъкло. Спри се за отделяне на стъкло.

    2. Стъпка 2

      Три кабели ще се проведе на две части заедно. Премахване на първите две с помощта на кламери. Третият е под раздел по първите две въжета. Последният кабел трябва да се извади леко.

    3. Стъпка 3

      На екрана, извадете шест винта: две от едната страна, една на дъното на повърхността зад стъкло, един вижда от другата страна и две ленти на тази страна.

    4. Стъпка 4

      За да премахнете LCD, използвайте един кламер от страните да се свържете долния десен ъгъл, който е един кръг, и издърпайте.


      Отстраняване на счупено стъкло

    5. Стъпка 1

      Използването на пинсети, извадете черната лента зад стъкло на всеки от четирите краища.

    6. Стъпка 2

      Използвайте сешоара по ръбовете на стъклото за около 5 минути, за да се нагрява лепило.

    7. Стъпка 3

      Надзъртам на стъкло от пластмасов държач. Не забравяйте да премахнете всички счупено стъкло.


      Инсталиране на стъкло

    8. Стъпка 1

      Поставете самозалепващите ленти в горната и долната част на пластмасовия държач.

    9. Стъпка 2

      На новия екран стъкло, премахнете всички филми от черно отдолу и отгоре, оставяйки защитен филм върху стъкло, така няма пръстови отпечатъци, ще влезем вътре. Вероятно ще има две части на филма на черния части.

    10. Стъпка 3

      Строй се на стъклото с държателя, като се уверите, кабела минава под титуляра. Когато двете парчета мач нагоре, натиснете надолу, за да придържа стъклото на самозалепващи ленти.

    11. Стъпка 4

      Премахване на филма от стъкло.


      Сглобяване

    12. Стъпка 1

      Поставете LCD обратно на притежателя с всички дупки за изравнените винтове. Натиснете го на място. Замяна на всички винтове.

    13. Стъпка 2

      Прес всички кабели на мястото си в обратен ред на тяхното премахване.

    14. Стъпка 3

      Привеждане на две части - на екрана и на единица - и ги натиснете заедно с дупки подредени.

    15. Стъпка 4

      Поставете винтовете и вашата СИМ-карта.



    Съвети & Предупреждения

    Позоваването

    Ресурси

    27-ми ноември, 2009 г в 19:38 часа - Коментари

    Prestashop Ръчно Конвертиране на количките на поръчки

    Prestashop Cart2Order Модул

    Наскоро имаше нужда да конвертирате клиент каруци в действителните поръчки, а от там не е един лесен начин да направите това с основата инсталирате код и един модул не съществува, аз написах моята собствена.

    Основно това, което този прост модул прави е да конвертирате кола на клиентите в един ред. Ето как става това с пример:

    Ако имате, да кажем например, Google Checkout и Paypal плащане модули инсталирани, тогава ще имате възможност да конвертирате количката на клиента, чрез един от тези инсталирани модули плащане.

    Можете да изтеглите модул Cart2Order използвате линка по-долу:
    Cart2Order Prestashop Модул

    Дискусионен форум линка по-долу:
    http://bit.ly/oTglW

    16-ти Ное 2009 в 01:27 часа - Коментари

    Предотвратяване на копирането на дизайна на сайта си шаблони

    Бях преглеждате PrestaShop форум и се стигна до по темата относно въпроса с хора, кражбата на сайт дизайн, зареждайки шаблона файлове от темата директория. Той ме удари, че това е може би нещо, че тези от вас, които използват други шаблон системи с вашите сайтове могат също лице, така че мислех, че ще публикувате решение тук.

    Проблемът е, че макар и PHP файлове не могат да се разглеждат директно на вашия браузър, други файлове източник могат да бъдат например файлове завършва на. Гражданска отговорност

    Например да разгледаме следния файл, който е по подразбиране разрешения:

    Незащитени шаблон на файла

    Най-добрият начин за защита на вашия сайт е да се променят правата за достъп до тези файлове до 600. Това ще ги направи достъпни само от собствения си код на сървъра и представя някой любопитни достатъчно, за да опитате и да ги погледнем с 403 (забранено) грешка. Същото се отнася и за PHP файлове (въпреки че те не трябва да покажете източник, освен ако вашия сървър конфигурация е счупен).

    Да погледнем в този файл с разрешенията, определени на 600:

    Защитени файла на шаблона

    Обикновено.

    13-ти Ноември 2009 в 16:45 часа - Коментари

    Персонализиране Prestashop Модул шаблони

    Моля, не редактирайте тези оригинали!

    Аз дойдох в тази малка скъпоценност Преди време в този форум Prestashop, и рекох да привлече вниманието към него с надеждата, че ще помогне на някой, някъде.

    Аз съм не един да се оплаче, но моят домашен любимец мразя хора, които променят първоначалния източник файлове на своите магазини, когато няма нужда да. Той ме притискаше в Дзен Количката, когато хората щастливо промяна на "Класик" и "по подразбиране" шаблонни файлове, а след това се чудеха защо е било трудно да се ъпгрейд ... и ето и ето хора започнаха едно и също нещо за темата по подразбиране Prestashop също. Aaaargh! Колко трудно е да се направи копие, преименувате го и редактиране на тази версия, а?

    Когато ми пурист инстинкти не е обаче, още в лошите стари дни, беше, когато той стигна до. Гражданска отговорност файлове, които са били съхранявани в модула се директории - изглежда като че няма друг избор, освен да ги редактирате, ако искате да персонализирате продукция за вашия магазин - или е там!

    Отговорът е учудващо проста, и ще ви накара да клюмам главата си в благодарни благодарност ... Всичко, което трябва да направите е да създадете модули / директорията, в потребителски вашата тема директория (и ти няма да се работи в директорията по подразбиране тема сега сте), копие на оригинала. Гражданска отговорност от модула директория в него и редактирате далеч към съдържание на сърцето ви.

    Например, можете да вземете файла на шаблона от blockadvertising модул (blockadvertising.tpl) и да направи копие, в / теми / mycooltheme / модули / blockadvertising. Сега редакцията на копие на оригинала, който прилича:

    
    
    (L S = "Министерството на отбраната реклама = 'blockadvertising")

    за

    
    
    (LS = "А фантастично място за моден Prestashop екстри = 'blockadvertising")

    Чиста радост! Въпреки, че внимателно ще забележите, че освен ако не редактирате () променлива $ образ и място на статичен пътя си графичен на негово място, след това ще трябва да се промени картината в модула директория .... и не може да има всичко, предполагам.

    13-ти Ноември 2009 в 16:13 часа - Коментари

    Писане свой собствен Prestashop модул - част 5

    В щрихи

    Въвеждане

    В това последната част от основните ни модул за написването настойнически серия ние ще погледнем в последните стъпки за преобразуване нашите Tutorialthird модул клас в база шаблон, който ние можем да използвате, за да сритам стартирате писане на нови модули. Вместо отново същите стари код отново ще обсъждат само на промените, но аз добавям линк за сваляне в края на тази част за да можете да вземете окончателното код и да го използват като основа за вашите собствени проекти. Ние ще наричаме това модул "скелета" - име, което ще замени със собствените си, когато става въпрос за производство на нови модули, базирани на него.

    Стайлинг на конфигурацията форма

    Първите промени, които считаме, че ще направи, са чисто козметични, но това е един важен елемент, тъй като ние искаме да предоставим последователен интерфейс за нашите потребители. Нашата форма код изглеждаше като:

    	 Частни функция _displayForm ()
    	 (
    		 $ Това-> _html .= "
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    				 <label> ". $ това-> L (" послание към света').'</ етикет>
    				 <div class="margin-form">
    
    					 <input type="text" name="our_message" />
    				 </ DIV>
    				 <input type="submit" name="submit" value="'.$this-> л ("Актуализация').'" клас =" копче "/>
    
    		 </ Форма> ";
    	 )
    

    Конвенцията за тези конфигурационни екрани е да приключваме настройките в fieldset, и ние също така ще трябва да добавите хубав приятелски (превод) легендата пълен с икона. Нашият код ще изглежда така:

    	 Частни функция _displayForm ()
    	 (
    		 $ Това-> _html .= "
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    
    			 <fieldset>
    				 <legend> <img src="../img/admin/cog.gif" alt="" class="middle" /> ". $ това-> L (" Настройки').'</ легенда>
    
    				 <label> ". $ това-> L (" послание към света').'</ етикет>
    				 <div class="margin-form">
    					 <input type="text" name="our_message" />
    
    				 </ DIV>
    			 <input type="submit" name="submit" value="'.$this-> л ("Актуализация').'" клас =" копче "/>
    
    			 </ Fieldset>
    		 </ Форма> ";
    	 )
    

    Нашите окончателно козметични промени е да добавите заглавие в началото на нашия настройките на екрана само в случай, че потребителят е забравил къде са те! Ние правим това чрез добавяне на следния ред в началото на getContent () функция:

     $ Това-> _html .= "<h2>". $ Това-> DisplayName. "</ H2>";
    

    Предварително населяващи конфигурация полет

    Друг липсващ елемент от първоначалното ни настойнически проект е на езика на текущите настройки в модула формата конфигурация, и дори когато формулярът се връща от актуализиране на стойности на полета са празни, така че ние трябва да се определи това бъг също. Има две възможности, които ние трябва да се справят:

    1. Първоначално представяне на формуляр трябва да покажете текущата конфигурация (ако има такива)
    2. След формата актуализация ние трябва да покажете данни, въведени от потребителя

    Ние можем да използваме за конфигурация:: Get () функция за извличане на текущите настройки от базата данни, както и инструменти:: getValue (), за да получите съдържанието на полетата. Инструменти:: getValue () функция отнема секунди параметър, който е полезен в този контекст, тъй като това определя "по подразбиране" за използване в случай че областта е празен. Сега можем да настроите "стойност" атрибут на нашия вход тагове подходящо използване на тези две функции, така че нашата окончателното въвеждане на код под формата ще бъдат:

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

    Друг полезен промени, за да, когато се занимават с няколко полета в конфигурация за да преместите кода обновяване базата данни на своите собствени частни функция. За това ние ще замени ред:

    
     ако (! sizeof ($ това-> _postErrors))
    	 (
    		 Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message"), вярно);
    		 $ Това-> _html .= "<div class="conf confirm">". $ Това-> L ('Обновяването на настройките').'</ DIV> ";
    	 )
    

    със следния текст:

     ако (! sizeof ($ това-> _postErrors))
    	 $ Това-> _postProcess ();
    

    И ние добавяме нови частни функция-член от нашия клас да се справят с действителните актуализации в едно лесно идентифицирани местоположение:

    	 Частни функция _postProcess ()
    	 (
    		 Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message"), вярно);
    
    		 $ Това-> _html .= "<div class="conf confirm">". $ Това-> L ('Обновяването на настройките').'</ DIV> ";
    	 )
    

    Работа други видове областта

    В крайна изтегляне на скелета модул съм допълни още примери за други видове области, които ще действат като полезни команди за създаване на модул вашата конфигурация форма. Това обхваща отметки, радио бутони, текстови и падащите списъци. Всичко, което трябва да направите е да добавите / преименуване на полета, добавете всички Изисква се проверка на _postValidation () и редакция на обновяване код в _postProcess () функцията по подходящ начин.

    За задължителните настройки трябва също тест за присъствието им в инсталиране на функция и ще предприеме необходимите действия за предотвратяване на вашия модул причиняват грешки в звеното например чрез определяне на подходящи по подразбиране използва конфигурация:: updateValue () функция. Алтернативно това може да се извършва в модула конструкторите, въпреки че е по-правилно да се извърши това в рамките на инсталиране ().

    Добавянето на няколко езика място куки

    Нашите Tutorialthird модул, може да се показват само съдържанието си в лявата колона, тъй като това е единствената кука ние изпълнение. За щастие това е много лесно да се реализира "Трансплантация на модул" BackOffice функционалност в нашия кодекс. В най-простата форма, просто ще използват една и съща продукция във всички места, но ако е необходимо всички тези допълнителни куки може да доведе до различни резултати.

    За да се получи същата продукция във всички популярни места, ние просто трябва да приложи допълнителни функции кука в нашата модул и се обадете на оригиналния код кука за генериране на мощност. Имайте предвид, че ние само действително покана registerHook () за един по подразбиране в инсталиране () член функция, и нека Back Office се справят с регистрацията на останалите.

    	 hookRightColumn функция ($ params)
    	 (
    		 връщане $ това-> hookLeftColumn ($ params);
    	 )
    
    	 hookTop функция ($ params)
    	 (
    		 връщане $ това-> hookLeftColumn ($ params);
    	 )
    
    	 hookHome функция ($ params)
    	 (
    		 връщане $ това-> hookLeftColumn ($ params);
    	 )
    
    	 hookFooter функция ($ params)
    	 (
    		 връщане $ това-> hookLeftColumn ($ params);
    	 )
    

    Обобщение

    През тази поредица от статии трябва да са се научили как основния модул работи системата в Prestashop и да бъде в състояние да код модули, които доставят продукция за различните области представяне в звеното. Вие също така ще имат добра рамка код да основе своя собствена модули. Може би сте забелязали, че в нито един момент не сме реално използвани Smarty или шаблонни файлове в създаването на нашата модул - това е умишлено, тъй като те може да се разглежда като отделна единица от модула за самия проект.

    Smarty е много гъвкав, но изборът му да се основава на много фактори и причини за ефективност най-добре е да се избегне употребата му, ако изобщо е възможно. Късно членове ще проучи как и кога да се използва Smarty да разшири възможностите ви модули функционалност все пак, тъй като това е основна част от архитектурата Prestashop.

    Можете да изтеглите пълния скелет модул код с помощта на връзката по-долу:

    Скелет v0.1.0

    13-ти Ноември 2009 в 15:49 часа - Коментари

    Писане свой собствен Prestashop модул - част 4

    Формуляр проверка и сигурност

    Въвеждане

    Макар и достатъчно функционални за това, което прави, модулът ние създадохме в част 2 не ни представи с някои въпроси, които се вземат предвид при прилагане на "реалния свят" модули за разширяване Prestashop. По-специално приноса на потребителите ние заловен с нашата форма е написан директно на конфигурация влизане без проверка да установи дали тя е валидна, нито пък може да се вземе предвид типа на данните се вписват.

    В този урок ще разгледаме по-общия въпрос за проверка под формата на входа и сигурност, както за Back Office и Фронт офис форми и приноса на потребителите, както и гледам към подобряване на нашите кодекс, както функционално и естетически.

    Класът на конфигурация прегледа

    В част 3 стигнахме накратко за един допълнителен параметър, който може да се предаде на конфигурация:: updateValue () клас метод. Ако си спомняте функцията има следния вид:

      updateValue ($ ключ, $ ценности, HTML $ = лъжа); 

    В част 3 се игнорира $ HTML параметър и позволява на функцията да се използва стойността по подразбиране на "фалшиви". При това ние действително по невнимание добавен на първия елемент на сигурността и утвърждаването на нашия код. , Когато в стаята на "фалшиви" на updateValue () метод действително предварително процеси на стойността, която се изписва като се използва следния код ($ стринг е стойността на входа предават към функцията):

      $ Низ = strip_tags (nl2br2 ($ низ)); 

    Можете да пробвате този вън, като въведете някои HTML в конфигурацията на екрана за модул ние създадохме в част 3. Трябва да се види, че всички HTML тагове в изхода са отстранени. Бихме могли да променят модул TutorialSecond да позволи въвеждане на HTML във формата, чрез промяна на линия 29 в изходния файл:

      Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message", вярно)); 

    Това илюстрира основния принцип, че ние трябва да наеме целия собствената ни код, за да гарантира, че тя е защитена и работи предвидимо. За щастие Prestashop ни дава някои инструменти, които можем да използваме в нашата собствена код, за да стане по-сигурен и стабилен.

    Потвърждаване

    Prestashop ни дава един клас наречен потвърди, че ние можем да използвате, за да определи дали приноса на потребителите приема е валиден или не. Списъкът на държавите-функции е доста голям, но си струва възпроизвеждане на някои от тях тук, за да илюстрира точка - за пълен списък трябва да се консултирате клас / Validate.php файла в вашата дистрибуция Prestashop.

     isEmail ($ имейл);
     isFloat ($ поплавък);
     isUnsignedFloat ($ поплавък);
     isCleanHtml ($ HTML);
     isDate ($ дата);
     isBool ($ булев);
     isPhoneNumber ($ phoneNumber);
     isPostCode ($ пощенски код);
     isInt ($ INT);
     isUnsignedInt ($ INT);
     isUnsignedId ($ ID);
     isNullOrUnsignedId ($ ID);
     isUrl ($ URL);
     isAbsoluteUrl ($ URL);
     isFileName ($ име);
    

    Като пример можем да използваме isCleanHtml () функция от изброените по-горе като тест в нашия модул за предотвратяване на XSS (кръст Site Scripting) - по този начин можем да позволим HTML въвеждане на разумен безопасно.

    Валидиране нашата форма за данни

    Както и преди, че ще създаде нов модул на базата на предишната версия. Защо не опитате изменение на класа Tutorialsecond себе си за създаване на модул Tutorialthird? Ако искате по-скоро не, тогава просто се разшири и да копирате кода по-долу в зависимост от случая!

     <? PHP
     клас Tutorialthird разширява Модул
     (
    	 Частни $ _html ='';
    
    	 функция __construct ()
    	 (
    		 $ Това-> име = "tutorialthird";
    		 родител:: __construct ();
    
    		 $ Това-> раздела = 'eCartService.net уроци;
    		 $ Това-> версия = 0 .1.0 ";
    		 $ Това-> DisplayName = $ това-> L ("Трети начинаещи Модул");
    		 $ Това-> описание = $ това-> L ("Нашият трети модул - сигурност и проверка");
    	 )
    
    	 публична функция инсталирате ()
    	 (
    		 родител:: Инсталирайте ();
    
    		 ако (! $ това-> registerHook ("leftColumn"))
    			 връщане фалшиви;
    	 )
    
    	 публична функция getContent ()
    	 (
    		 ако (Инструменти:: isSubmit ("представя"))
    		 (
    			 Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message"));
    		 )
    
    		 $ Това-> _displayForm ();
    
    		 връщане $ това-> _html;
    	 )
    
    	 Частни функция _displayForm ()
    	 (
    		 $ Това-> _html .= "
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    
    				 <label> ". $ това-> L (" послание към света').'</ етикет>
    				 <div class="margin-form">
    					 <input type="text" name="our_message" />
    
    				 </ DIV>
    				 <input type="submit" name="submit" value="'.$this-> л ("Актуализация').'" клас =" копче "/>
    
    		 </ Форма> ";
    	 )
    
    	 публична функция hookLeftColumn ()
    	 (
    		 връщане "<div class="block"> <h4>".  Конфигурация:: Get ($ това-> име. "_message").  "</ H4> </ DIV>";
    	 )
    
     )
     / / Край на: tutorialthird.php
    

    Първият етап от процеса е да се измени ни getContent () функция, за да добавите стъпка валидиране:

    	 публична функция getContent ()
    	 (
    		 ако (Инструменти:: isSubmit ("представя"))
    		 (
    			 $ Това-> _postValidation ();
    
    			 ако (! sizeof ($ това-> _postErrors))
    			 (
    				 Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message"), вярно);
    				 $ Това-> _html .= "<div class="conf confirm">". $ Това-> L ('Обновяването на настройките').'</ DIV> ";
    			 )
    			 още
    			 (
    				 foreach ($ това-> _postErrors като $ заблуждават)
    				 (
    					 $ Това-> _html .= "<div class="alert error">". $ Допуснал грешка. "</ DIV>";
    				 )
    			 )
    		 )
    
    		 $ Това-> _displayForm ();
    
    		 връщане $ това-> _html;
    	 )
    

    Ние също трябва да се добави декларация за $ _postErrors член променлива сме въведени в началото на нашия клас например определението

     клас Tutorialthird разширява Модул
     (
    	 Частни $ _html ='';
    	 Частни $ _postErrors = Array ();
    

    Логиката поток, когато се публикуване на данни в getContent () е сега, за да се обадите на нашия _Validation () функция за проверка на предоставените полета и да ни $ _postErrors масив с всички съобщения за грешка. Ако има грешки, ние можем да ги покажем преди redisplaying форма. Ако проверките за достоверност, се предават, а след това ние показваме един "успех", което да дава визуална обратна връзка, че конфигурацията е била актуализирана. Прост тест XSS в _Validation () функция за нашия пример може да бъде:

    	 Частни функция _postValidation ()
    	 (
    		 ако (! Проверка:: isCleanHtml (Инструменти:: getValue ("our_message")))
    			 $ Това-> _postErrors [] = $ това-> L ("Съобщението, което влезе, не е позволено, съжалявам");
    	 )
    

    Очевидно не са ограничени до използването на тестове, предоставени от клас проверка, и можете да приложите няколко тестове към всяко подадено област - за тест за дължина и т.н. Основният принцип е един и същ във всички случаи, без значение колко сложна валидиране изисквания.

    Обобщение

    В тази статия Ние подобрихме на нашата форма за работа чрез добавяне на утвърждаването на приноса на потребителите за допълнителна сигурност и / или надеждност. Ние също така добавихме някои визуална обратна връзка, когато конфигурацията е обновен успешно. В последната част на тази серия ние ще добавим някои козметични промени, окончателно да ни форма за стандартизиране на интерфейса и подобряване на използваемостта. Ние също така ще разгледаме идеи за подобряване и разширяване на "шаблон" модул сме създали.

    13-ти Ноември 2009 в 15:35 часа - Коментари

    Писане свой собствен Prestashop модул - Част 3

    Съхранение на модул за конфигурация

    Въвеждане

    В третата част на тази серия ние ще разгледаме как можем да съхранявате конфигурационни данни за модулите в базата данни Prestashop, и как можем да позволяват на потребителите да взаимодействат с тези данни да се контролира поведението на модула. Ние също така ще накратко връзка за това как можем да генерира изход от нашите модул да осигурява визуална обратна връзка за промени в конфигурацията.

    Управление на потребителските настройки

    Ние ще наричаме това модул "TutorialSecond", така че ние отново трябва да създадете нов модул директория и клас файл - което ще се нарича "tutorialsecond" и "tutorialsecond.php" съответно. Класът на файла (tutorialsecond.php) трябва да съдържа следното:

      <? PHP
     клас Tutorialsecond разширява Модул
     (
    	 Частни $ _html ='';
    
    	 функция __construct ()
    	 (
    		 $ Това-> име = "tutorialsecond";
    		 родител:: __construct ();
    
    		 $ Това-> раздела = 'eCartService.net уроци;
    		 $ Това-> версия = 0 .1.0 ";
    		 $ Това-> DisplayName = $ това-> L ("Втора начинаещи Модул");
    		 $ Това-> описание = $ това-> L ("Нашият втори модул - А" Здравей свят "Redux");
    	 )
    
    	 публична функция getContent ()
    	 (
    
    	 )
    
    	 Частни функция _displayForm ()
    	 (
    
    	 )
    
     )
     / / Край на: tutorialsecond.php 

    Вие ще забележите, че са приложили две нови функции регистриран:: getContent () и:: _displayForm (). Ако качите файла на вашия сървър и инсталира този модул на този етап трябва да видите нова опция за модулите списък екран за "Втори начинаещи Модул". Ще има вече да е ">> Configure", намиращ се в модула за влизането, въпреки че щракване то само ще върне празна страница Back Office. Наличието на:: getContent () член функция е отговорен за това, тъй като осигурява връзката между нашите модул и Back Office.

    В допълнение към тези две нови функции, ние имаме също добавят $ _html частни член променлива, която ще използвате по-късно в тази статия, за да изгради необходимите изход за езика в Back Office.

    Съхранение и извличане на конфигурационни данни

    Prestashop представя "Конфигурация" клас, който предлага няколко функции член да манипулира данни, конфигурация, но двете основни функции, които ще бъдат най-често използваните са:

      Конфигурация:: updateValue ($ ключ, $ ценности, HTML $ = лъжа);
     Конфигурация:: Get ($ ключ, $ id_lang = NULL); 

    Конфигурацията:: updateValue () функция ни позволява да се съхранява за конфигурация опция в базата данни (по желание на различни езици в който случай $ стойности на параметрите се масив) и конфигурацията:: Get () функция ни позволява да изтеглите конфигурационни данни за един избран или магазин на езика по подразбиране. Ние ще игнорира параметрите, които са приети стойности за сега, но ще преразгледа $ HTML параметър в конфигурацията:: updateValue () функция в следващата статия, когато се вгледаме в предмет на форма на проверка.

    Изпълнение на Конфигуриране на екрана

    В нашия файла източник създадоха частни _displayForm член функция (). Това е изцяло по избор, както всички на интерфейса код може да бъде поставен в getContent () член функция, обаче, че е силно препоръчително да отделно този вън от съображения за по-лесно код за поддръжка. Ние ще създадем една проста форма в рамките на тази функция от, с които можем да улавяне магазин вход собственик.

      Частни функция _displayForm ()
    	 (
    		 $ Това-> _html .= "
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    				 <label> ". $ това-> L (" послание към света').'</ етикет>
    				 <div class="margin-form">
    
    					 <input type="text" name="our_message" />
    				 </ DIV>
    				 <input type="submit" name="submit" value="'.$this-> л ("Актуализация').'" клас =" копче "/>
    
    		 </ Форма> ";
    	 ) 

    Можете да видите, че:: _displayForm () функция, просто добавя стандартен HTML код под формата на $ _html ни член променлива, с формата целта е $ _SERVER ['] REQUEST_URI ". Prestashop на Back Office архитектура ще маршрута това в нашия:: функция getContent клас член за нас да се справят, когато формулярът е публикуван.

    Ние следващия трябва да добавите код, за да ни:: getContent () функция, за да покаже действително форма и дръжка на формуляра.

      публична функция getContent ()
    	 (
    		 ако (Инструменти:: isSubmit ("представя"))
    		 (
    			 Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message"));
    		 )
    
    		 $ Това-> _displayForm ();
    
    		 връщане $ това-> _html;
    	 ) 

    В:: getContent () функция първо използва друг клас Prestashop "Инструменти", за да проверят дали ние извършваме след действие от страна на формата, или дали тази функция се нарича по друг начин, т.е. с едно щракване на "Configure", намиращ се в модула списък - параметър е името дадохме на нашите "обновяване" бутон на формата.

    Ако функцията се нарича пряко от Back Office (в който случай Инструменти:: isSubmit ("представя") ще върне FALSE), след което ние наричаме формата оказване функция ние създадохме по-горе, и връща резултат, заловени в $ това- > _html променлива, на Back Office за показване.

    Ако функцията се нарича в резултат на нашата форма е публикуван, след което може да съхрани нашата параметър конфигурация в базата данни със стойността вписани в нашата форма. Ние отново използвайте клас инструменти за получаване на стойността на формата променлива използване на поканата на Инструменти:: getValue ("our_message"), където "our_message" е името на полето за въвеждане в нашата форма.

    Можете да видите, че съм добавил името на нашия модул за началото на елемент от конфигурацията име - това е да се гарантира, че конфигурацията ключ е уникален като Именно за тези клавиши се споделя за целия магазин.

    След като са съхранени нашите конфигурационни данни на формата е отново показва, готов за още информация, ако е необходимо.

    Модул-изхода на една страница

    Сега имаме един метод за улов на информация от собственика на магазина и да го запазите в базата данни, така че следващата очевидна стъпка ще бъде да се направи нещо с него например се показват на една страница. В част 1 от поредицата, за които говорихме "куки" във връзка с модули добавяне на функционалност. За да се използва това, ние трябва да кажем, че нашите PrestaShop модул би искал да кука в офиса фронт и правим това като се използват следните функции (дефинирани в базовия клас модул):

      $ Това-> registerHook ($ hook_name); 

    За $ hook_name параметър се отнася до един от различни гледни точки, че основната Prestashop позволява модули, за да вмъкнете продукция и / или обработката на данни, но за сега ние ще използваме една по-специално - "leftColumn", която ни позволява да добавят съдържание в лявата колона на всички страници. За да може да се създаде на куката трябва да бъдат добавени следните нови замени в нашата собствена класа:

      публична функция инсталирате ()
    	 (
    		 родител:: Инсталирайте ();
    
    		 ако (! $ това-> registerHook ("leftColumn"))
    			 връщане фалшиви;
    	 ) 

    Това казва Prestashop да изпълни нашите модул кука, когато се прави съдържанието на лявата колона на всички страници. Ние следващия трябва да добавите функция за обработка на обажданията кука. Конвенцията е да даде име на функция на име Куки предшествано от "кука":

      публична функция hookLeftColumn ()
    	 (
    		 връщане "<div class="block"> <h4>".  Конфигурация:: Get ($ това-> име. "_message").  "</ H4> </ DIV>";
    	 ) 

    По-просто нашия пример ние сме просто обвивка нашата конфигурация параметър в някои стандартни HTML маркиране, така че да се показва правилно на нашата страница.

    Ако вече сте инсталирали модула Сега би трябвало да деинсталирате да инсталирате отново да гарантира, че куката е правилно регистрирани от основните Prestashop. Сега можете да въведете стойност в конфигурационния екран за модула - например "Здравей свят", и тя ще се възпроизвежда както е заглавието на една клетка в лявата колона на магазин. Пълният код за втория пример трябва да изглежда така:

      <? PHP
     клас Tutorialsecond разширява Модул
     (
    	 Частни $ _html ='';
    
    	 функция __construct ()
    	 (
    		 $ Това-> име = "tutorialsecond";
    		 родител:: __construct ();
    
    		 $ Това-> раздела = 'eCartService.net уроци;
    		 $ Това-> версия = 0 .1.0 ";
    		 $ Това-> DisplayName = $ това-> L ("Втора начинаещи Модул");
    		 $ Това-> описание = $ това-> L ("Нашият втори модул - А" Здравей свят "Redux");
    	 )
    
    	 публична функция инсталирате ()
    	 (
    		 родител:: Инсталирайте ();
    
    		 ако (! $ това-> registerHook ("leftColumn"))
    			 връщане фалшиви;
    	 )
    
    	 публична функция getContent ()
    	 (
    		 ако (Инструменти:: isSubmit ("представя"))
    		 (
    			 Конфигурация:: updateValue ($ това-> име. "_message", Инструменти:: getValue ("our_message"));
    		 )
    
    		 $ Това-> _displayForm ();
    
    		 връщане $ това-> _html;
    	 )
    
    	 Частни функция _displayForm ()
    	 (
    		 $ Това-> _html .= "
    		 <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
    
    				 <label> ". $ това-> L (" послание към света').'</ етикет>
    				 <div class="margin-form">
    					 <input type="text" name="our_message" />
    
    				 </ DIV>
    				 <input type="submit" name="submit" value="'.$this-> л ("Актуализация').'" клас =" копче "/>
    
    		 </ Форма> ";
    	 )
    
    	 публична функция hookLeftColumn ()
    	 (
    		 връщане "<div class="block"> <h4>".  Конфигурация:: Get ($ това-> име. "_message").  "</ H4> </ DIV>";
    	 )
    
     )
     / / Край на: tutorialsecond.php 

    Обобщение

    В тази статия ние разширихме нашите първи модул за включване на основната форма конфигурация и са използвали една кука функция за показване на изход от модула за нашите в лявата колона на нашите страници. В следващата част на тази серия ще разгледаме по подобряване на конфигурацията съоръжение в нещо, което може да се използва в реална модул изпълнение. Това ще включва утвърждаване приноса на потребителите на формата, преди населяващи полетата на формуляра в зависимост от случая въз основа на текущата конфигурация и показване модул грешки и предупреждения за екрани Back Office.

    13-ти Ноември 2009 в 15:28 часа - Коментари