- drupal
- drupal7
| Versionen | |
| drupal7 |
hook_field_schema($field) |
Define the Field API schema for a field structure.
Übergabeparameter
$field
A field structure.
Rückgabewert
An associative array with the following keys:
- 'columns': an array of Schema API column specifications, keyed by
column name. This specifies what comprises a value for a given field.
For example, a value for a number field is simply 'value', while a
value for a formatted text field is the combination of 'value' and
'format'.
It is recommended to avoid having the columns definitions depend on
field settings when possible.
No assumptions should be made on how storage engines internally use the
original column name to structure their storage.
- 'indexes': an array of Schema API indexes definitions. Only columns that
appear in the 'columns' array are allowed.
Those indexes will be used as default indexes. Callers of
field_create_field() can specify additional indexes, or, at their own
risk, modify the default indexes specified by the field-type module.
Some storage engines might not support indexes.
Verwandte Themen
- Field Types API
- Define field types, widget types, and display formatter types.
Code
modules/field/field.api.php, line 140
<?php
function hook_field_schema($field) {
if ($field['type'] == 'text_long') {
$columns = array(
'value' => array(
'type' => 'text',
'size' => 'big',
'not null' => FALSE,
),
);
}
else {
$columns = array(
'value' => array(
'type' => 'varchar',
'length' => $field['settings']['max_length'],
'not null' => FALSE,
),
);
}
$columns += array(
'format' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => FALSE,
),
);
return array(
'columns' => $columns,
'indexes' => array(
'format' => array('format'),
),
);
}
?>
Kommentare
Kommentar hinzufügen