Najnovšie módy
Najnovšie vzhľady
Anketa
Pri výbere hostingu...







Musíte byť prihlásený, aby ste mohli hlasovať.
Ako na uživateľské políčko? Stačí 10min.
[size=20]1. Užívateľské políčko[/size]

Všetci určite vieme čo to je. A keď nie tak si to objasníme :-).
Užívateľské políčko, alebo anglicky user field je políčko, ktoré prezentuje užívateľský profil.

developer.4fan.cz/images/articles/img/img2.png
developer.4fan.cz/images/articles/img/img1.png
developer.4fan.cz/images/articles/img/img3.png

Užívateľský profil môže obsahovať takýchto políčok nespočetne veľa, no netreba zabúdať na prehľadnosť profilu a na to keď užívateľ príde na profil aby ho nemusel študovať ako knihu.

[size=20]2. Čo potrebujeme k vytvoreniu uf - user field?[/size]

Postačí nám jednoduchý textový editor a štipku vlastného rozumu. Bez skúsenosti PHP alebo iných programovacích jazykov vám ukážem ako na to v našom obľúbenom PHP FUSION.

[size=20]3.Začneme už?[/size]

Tak poďme nato. V našom textovom editore si otvoríme nové súbory, ktoré nazveme:
Code

user_oblubenejedlo_include.php
user_oblubenejedlo_include_var.php
user_oblubenejedlo.php





[size=16]3.1 user_oblubenejedlo.php[/size]

Ako prvý si otvoríme user_oblubenejedlo.php, hneď ako prvý krok ho vložíme "locale/TVOJ_JAZYK/user_oblubenejedlo.php".
Tento súbor nám bude slúžiť nato, aby naše políčko mohlo byť multi-jazyčné.
Obsah súboru bude:
developer.4fan.cz/images/articles/img/img4.png

Súbor netreba myslím komentovať. Je to čisto len jazyčný súbor.
Teda prvý súbor máme za sebou :-) Môžeme ísť ďalej juhuu.
-Text píšeme medzi úvodzovky( "text" )!

[size=16]3.2 user_oblubenejedlo_include_var.php[/size]

Prechádzame na 2súbor user_oblubenejedlo_include_var.php, takisto hneď na začiatku ho vložíme do "includes/user_fields/user_oblubenejedlo_include_var.php".
Tento súbor slúži na tkzv. zadefinovanie políčka v samotnom php fusion.

GeSHi: PHP
  1. <?php
  2. /*-------------------------------------------------------+
  3. | PHP-Fusion Content Management System
  4. | Copyright (C) 2002 - 2011 Nick Jones
  5. | http://www.php-fusion.co.uk/
  6. +--------------------------------------------------------+
  7. | Filename: user_oblubenejedlo_include_var.php
  8. | Author: Bokos
  9. +--------------------------------------------------------+
  10. | This program is released as free software under the
  11. | Affero GPL license. You can redistribute it and/or
  12. | modify it under the terms of this license which you
  13. | can read by viewing the included agpl.txt or online
  14. | at www.gnu.org/licenses/agpl.html. Removal of this
  15. | copyright header is strictly prohibited without
  16. | written permission from the original author(s).
  17. +--------------------------------------------------------*/
  18. if (!defined("IN_FUSION")) { die("Access Denied"); }
  19.  
  20. $user_field_api_version = "1.01.00";
  21.  
  22. $user_field_name = $locale['uf_oblubenejedlo'];
  23. $user_field_desc = $locale['uf_oblubenejedlo_desc'];
  24. $user_field_dbname = "user_oblubenejedlo";
  25. $user_field_group = 1;
  26. $user_field_dbinfo = "VARCHAR(255) NOT NULL DEFAULT ''";
  27. ?>
Vygenerované za 0.010 sekúnd, používate GeSHi 1.0.7.20


$user_field_name = - Je premena, ku ktorej priradíme názov premennej z nášho súboru user_oblubenejedlo.php, $locale['uf_oblubenejedlo'].
$user_field_desc - je o tom istom, len je to popis :-).

Takto zabezpečíme správny nadpis a popis v každom jazyku!

GeSHi: PHP
  1. $user_field_name = $locale['uf_oblubenejedlo'];
  2. $user_field_desc = $locale['uf_oblubenejedlo_desc'];
  3.  
Vygenerované za 0.002 sekúnd, používate GeSHi 1.0.7.20


$user_field_dbname - je to premena, ktorá sa musí z časti zhodovať z názvami našich súborov :-). Znamená to pre nás to: ak sa súbor volá user_jozkomrkvicka_include_var.php. Tak $user_field_dbname = "user_jozkomrkvicka";
V našom prípade to je ale niečo iné :-).

GeSHi: PHP
  1. $user_field_dbname = "user_oblubenejedlo";
Vygenerované za 0.001 sekúnd, používate GeSHi 1.0.7.20


Posledná premená $user_field_dbinfo, hovorí len o tom aký prívlastok mu dáme v databáze.

Typy aké môžme použiť:
Code
VARCHAR(255) NOT NULL DEFAULT '' - 255znakov max
TEXT NOT NULL DEFAULT ''- Nekonečno znakov
INT(11) NOT NULL - Len čiselné hodnoty.



Absolútne to niesu všetky typy, ani všetky možnosti aké môžte použiť. Ja sa v článku snažím o čo najjednoduchší spôsob :-). Takže nezabúdajme, že php nám ponúka omnoho viac možností :-).

[size=16]3.3 user_oblubenejedlo_include.php[/size]

Posledný súbor vložíme includes/user_fields/user_oblubenejedlo_include.php.

Posledný súbor je jednoduchý, stačí ak zameníte hodnoty za správne. Ak si ho preštudujete zistíte, že to viete :-).
Za každým riadkom som nechal koľko hodnôt sa musí zmeniť za daným riadkom.
PS: Súbory sa dajú stiahnuť, na spodku stránky je odkaz.

GeSHi: PHP
  1. <?php
  2. /*-------------------------------------------------------+
  3. | PHP-Fusion Content Management System
  4. | Copyright (C) 2002 - 2011 Nick Jones
  5. | http://www.php-fusion.co.uk/
  6. +--------------------------------------------------------+
  7. | Filename: user_oblubenejedlo_include.php
  8. | Author: Bokos
  9. +--------------------------------------------------------+
  10. | This program is released as free software under the
  11. | Affero GPL license. You can redistribute it and/or
  12. | modify it under the terms of this license which you
  13. | can read by viewing the included agpl.txt or online
  14. | at www.gnu.org/licenses/agpl.html. Removal of this
  15. | copyright header is strictly prohibited without
  16. | written permission from the original author(s).
  17. +--------------------------------------------------------*/
  18. if (!defined("IN_FUSION")) { die("Access Denied"); }
  19.  
  20. if ($profile_method == "input") {
  21. $user_oblubenejedlo = isset($user_data['user_oblubenejedlo']) ? $user_data['user_oblubenejedlo'] : ""; //3hodnoty
  22. if ($this->isError()) { $user_oblubenejedlo = isset($_POST['user_oblubenejedlo']) ? stripinput($_POST['user_oblubenejedlo']) : $user_oblubenejedlo; } //4hodnoty
  23.  
  24. echo "<tr>\n";
  25. echo "<td class='tbl".$this->getErrorClass("user_oblubenejedlo")."'><label for='user_oblubenejedlo'>".$locale['uf_oblubenejedlo'].$required."</label></td>\n"; //3hodnoty, $locale['uf_oblubenejedlo'] = názvu, ktorý sme si spravili v locale/user_fields/user_oblubenejedlo.php.
  26. echo "<td class='tbl".$this->getErrorClass("user_oblubenejedlo")."'>"; //1hodnota
  27. echo "<input type='text' id='user_oblubenejedlo' name='user_oblubenejedlo' value='".$user_oblubenejedlo."' maxlength='25' class='textbox' style='width:200px;' />"; //3hodnoty, name = '', id='', value=''
  28. echo "</td>\n</tr>\n";
  29.  
  30. if ($required) { $this->setRequiredJavaScript("user_oblubenejedlo", $locale['uf_oblubenejedlo_error']); } //2hodnoty, uf_oblubenejedlo_error = chybu, ktorú sme si spravili v locale.
  31.  
  32. // Display in profile
  33. } elseif ($profile_method == "display") {
  34. if ($user_data['user_oblubenejedlo']) { //1honodtu
  35. echo "<tr>\n";
  36. echo "<td class='tbl1'>".$locale['uf_oblubenejedlo']."</td>\n"; //1hodnotu
  37. echo "<td align='right' class='tbl1'>".$user_data['user_oblubenejedlo']."</td>\n"; //1hodnotu
  38. echo "</tr>\n";
  39. }
  40. } elseif ($profile_method == "validate_insert" || $profile_method == "validate_update") {
  41. if (isset($_POST['user_oblubenejedlo']) && ($_POST['user_oblubenejedlo'] != "" || $this->_isNotRequired("user_oblubenejedlo"))) { //3hodnoty
  42. $this->_setDBValue("user_oblubenejedlo", stripinput(trim($_POST['user_oblubenejedlo']))); //2hodnoty
  43. } else {
  44. $this->_setError("user_oblubenejedlo", $locale['uf_oblubenejedlo_error'], true); //2hodnoty
  45. }
  46. }
  47. ?>
Vygenerované za 0.051 sekúnd, používate GeSHi 1.0.7.20



[size=20]4. Záver[/size]

Užívateľské políčko je dnes bežná vec, ktorú nájdete takmer na každej stránke. Ak to nepreženiete s počtom políčok, tak vaša stránka sa môže stať jedinečnou a lepšou :-).


Komentár:

Je to môj prvý článok, tak sa chcem ospravedlniť za chyby, ktoré som v ňom spravil. Tak ako aj za miešanie jazykov SK-EN. Štylizácia není úžasná, ale tak :-))) och.

No napriek tomu dúfam, že som Vám pomohol a spravíte si vlastne uživateľské políčko.

Optimalizované pre verziu: 7.02.03 (na starších verziách to nemusí fungovať)
Súbory na stiahnutie: http://developer...._jedlo.rar
LIVE: http://developer....p?lookup=1

Napísal Bokos, pre redakčný systém PHP FUSION.
Komentáre
#1 | 1586 dňa 05.09.2011 09:18:09
Pekný článok +1 5
#2 | 3026 dňa 05.09.2011 12:46:10
Pekny članok, určite pomože. Vďaka 1
#3 | 800 dňa 05.09.2011 15:23:28
Dik, ale bol by som rád keby to niekto skúsil. Zaujímalo by ma to či je to zrozumiteľné, alebo som to posral 19.
#4 | 4026 dňa 05.09.2011 17:20:26
Článok pekný, lenže jednoduchšie by to šlo. Vytvorením novej tabuľky, a jednoduchým zápisom/výpisom z DB. Aspoň podľa mňa.
#5 | 800 dňa 05.09.2011 19:18:33
To jóó hash :-), ale tak chcel som im ukázať zrovna tento spôsob, ale možno jedného dňa spravím hento :-).
#6 | 3026 dňa 05.09.2011 20:21:42
Bokos: spravil si to pekne 1 Kto sa z toho nevyzná tak ja už neviem 19
Pridať komentár
Pre pridanie komentára musíte byť prihlásený.
Hodnotenia
Musíte byť zaregistrovaný, aby ste mohli hodnotiť.

Prosím prihláste, alebo sa zaregistrujte.

Perfektný! Perfektný! 100% [3 Hlasov]
Veľmi dobrý Veľmi dobrý 0% [Žiadne hlasy]
Dobrý Dobrý 0% [Žiadne hlasy]
Priemerný Priemerný 0% [Žiadne hlasy]
Biedny Biedny 0% [Žiadne hlasy]