1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
<?php
// $Id$
/**
* @file
* Hooks provided by the Field UI module.
*/
/**
* @ingroup field_ui_field_type
* @{
*/
/**
* Field settings form.
*
* The field type module is responsible for not returning form elements that
* cannot be changed. It may not always be possible to tell in advance, but
* modules should attempt to inform the user what is going/likely to work.
*
* @todo: Only the field type module knows which settings will affect the
* field's schema, but only the field storage module knows what schema
* changes are permitted once a field already has data. Probably we need an
* easy way for a field type module to ask whether an update to a new schema
* will be allowed without having to build up a fake $prior_field structure
* for hook_field_update_forbid().
*
* @param $field
* The field structure being configured.
* @param $instance
* The instance structure being configured.
* @param $has_data
* Whether the field already has data.
* @return
* The form definition for the field settings.
*/
function hook_field_settings_form($field, $instance, $has_data) {
$settings = $field['settings'];
$form['max_length'] = array(
'#type' => 'textfield',
'#title' => t('Maximum length'),
'#default_value' => $settings['max_length'],
'#required' => FALSE,
'#element_validate' => array('_element_validate_integer_positive'),
'#description' => t('The maximum length of the field in characters. Leave blank for an unlimited size.'),
);
return $form;
}
/**
* Instance settings form.
*
* @param $field
* The field structure being configured.
* @param $instance
* The instance structure being configured.
* @return
* The form definition for the field instance settings.
*/
function hook_field_instance_settings_form($field, $instance) {
$settings = $instance['settings'];
$form['text_processing'] = array(
'#type' => 'radios',
'#title' => t('Text processing'),
'#default_value' => $settings['text_processing'],
'#options' => array(
t('Plain text'),
t('Filtered text (user selects input format)'),
),
);
if ($field['type'] == 'text_with_summary') {
$form['display_summary'] = array(
'#type' => 'select',
'#title' => t('Display summary'),
'#options' => array(
t('No'),
t('Yes'),
),
'#description' => t('Display the summary to allow the user to input a summary value. Hide the summary to automatically fill it with a trimmed portion from the main post. '),
'#default_value' => !empty($settings['display_summary']) ? $settings['display_summary'] : 0,
);
}
return $form;
}
/**
* Widget settings form.
*
* @param $field
* The field structure being configured.
* @param $instance
* The instance structure being configured.
* @return
* The form definition for the widget settings.
*/
function hook_field_widget_settings_form($field, $instance) {
$widget = $instance['widget'];
$settings = $widget['settings'];
if ($widget['type'] == 'text_textfield') {
$form['size'] = array(
'#type' => 'textfield',
'#title' => t('Size of textfield'),
'#default_value' => $settings['size'],
'#element_validate' => array('_element_validate_integer_positive'),
'#required' => TRUE,
);
}
else {
$form['rows'] = array(
'#type' => 'textfield',
'#title' => t('Rows'),
'#default_value' => $settings['rows'],
'#element_validate' => array('_element_validate_integer_positive'),
'#required' => TRUE,
);
}
return $form;
}
/**
* Formatter settings form.
*
* @todo Not implemented yet. The signature below is only prospective, but
* providing $instance is not enough, since one $instance holds several display
* settings.
*
* @param $formatter
* The type of the formatter being configured.
* @param $settings
* The current values of the formatter settings.
* @param $field
* The field structure being configured.
* @param $instance
* The instance structure being configured.
* @return
* The form definition for the formatter settings.
*/
function hook_field_formatter_settings_form($formatter, $settings, $field, $instance) {
}
/**
* @} End of "ingroup field_ui_field_type"
*/
|