[ Index ] |
|
Code source de Phorum 5.1.25 |
1 Creating custom fields for user profiles 2 ======================================== 3 4 *** THIS DOCUMENT IS UNDER DEVELOPMENT, SO IT'S NOT YET COMPLETE *** 5 6 This documents describes how you can create your own custom fields 7 within the profiles of Phorum users. 8 9 10 Table of contents: 11 12 1. Introduction 13 2. Creating the custom field 14 3. Using the custom field 15 3.1 From the registration process 16 3.2 From the user's control center 17 3.3 From a module 18 19 20 1. Introduction 21 ------------------------------------------------------------------------------- 22 23 Phorum users all have their own profile. In this profile, data about 24 the user is stored. By default, Phorum stores for example the 25 username, email address and signature in the user profile. Also 26 user settings like the privacy options are stored in there. 27 28 You might want to add additional fields to the user profile. Example 29 applications for this are adding extra information that will be 30 displayed in user profile screens or storing data and settings for 31 your mods (see also docs/creating_mods.txt, section 2.5). 32 33 Phorum has an easy, built-in system to extend the profile fields, 34 without requiring you to change the structure of the database. So there's 35 no need to actually add columns to the table in which Phorum users are 36 stored in the database. 37 38 This document will explain how to use the custom profile field system. 39 40 41 2. Creating the custom field 42 ------------------------------------------------------------------------------- 43 44 45 Go to the admin for your Phorum installation ({phorum url}/admin.php). 46 There you go to "Custom Profiles" under "Users/Groups". In this screen 47 you can create, update and delete custom user profile fields. 48 49 To add a field, you will have to enter the following data: 50 51 * Field Name 52 53 This is the name that you are going to use for your custom field. 54 It is not the display name for your field, but the internal name, 55 which is used to reference the field from your code and HTML form 56 elements. You are only allowed to use letters, numbers and 57 underscores (_) for this. So if you want to store the users's shoe 58 size, you could for example use the field name "shoe_size". 59 60 Remark: 61 If you are creating a field for a mod, we recommend you to prefix 62 the field name with mod_<module name>, to prevent collisions with 63 Phorum and other mods. So if you add the shoe_size for a module 64 named "foo", you would name the field "mod_foo_shoe_size". 65 (see also creating_mods.txt, section 3.7.4). 66 67 * Field Length 68 69 This determines the length of the data that can be stored in the 70 database for the custom field. Data which is longer than this 71 value will be automatically truncated to the configured length 72 before being stored in the database. 73 74 * Disable HTML 75 76 If this checkbox is enabled, all characters that have a special 77 meaning in HTML will be automatically escaped when the field is 78 retrieved from the database. This checkbox should always be 79 checked in case you are directly displaying the field data, 80 without doing any data processing yourself. If you do not follow 81 this rule, it might result in a XSS security problem (see also 82 creating_mods.txt, section 3.6). 83 84 If this checkbox is disabled, you will get the data exactly 85 as it is stored in the database. If you want to display the 86 data, you should take care of properly escaping HTML code 87 yourself. 88 89 90 3. Using the custom field 91 ------------------------------------------------------------------------------- 92 93 94 3.1 From the registration process 95 --------------------------------- 96 97 If you want to let the user fill in the data for your custom 98 field during registration, you will have to add an input field to 99 the registration template file, which can be found in 100 templates/default/register.tpl (or of course in your own template 101 directory if you are using a custom template). 102 103 All you have to do is create a standard HTML input field and give it 104 the name of your custom field. Phorum will automatically take care 105 of storing the field's data in the database. 106 107 In the template you can make use of {REGISTER->fieldname} to get 108 the value of the field "fieldname". This can be used to let your 109 field remember its value during requests. 110 111 Example: 112 To add the shoe_size field to the registration page, you could 113 add the following code to the register.tpl at an appropriate place: 114 115 <input type="text" name="shoe_size" value="{REGISTER->shoe_size}"/> 116 117 118 3.2 From the user's control center 119 ---------------------------------- 120 121 If you want to give the user an option to change the value of your 122 custom field from the control center, you will have to put an input 123 field to the user settings template file, which can be found in 124 templates/default/cc_usersettings.tpl. 125 126 127 3.3 From a module 128 ----------------- 129 130 131 ====================================================================== 132 Bits and pieces: 133 134 You can use all HTML field types, but we 135 recommend not to use checkboxes, because you will have to write 136 special code to handle them. Instead you could use a <select> 137 list with two options ("on" and "off"). 138
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Nov 29 12:22:27 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |