API16:JForm/getField
From Joomla! Documentation
Description
Method to get a form field.
<! removed transcluded page call, red link never existed >
Syntax
getField($name, $group= '_default', $formControl= '_default', $groupControl= '_default', $value=null)
| Parameter Name | Default Value | Description |
|---|---|---|
| $name | $name The name of the form field. | |
| $group | '_default' | $group The group the field is in. |
| $formControl | '_default' | $formControl The optional form control. Set to false to disable. |
| $groupControl | '_default' | $groupControl The optional group control. Set to false to disable. |
| $value | null | $value The optional value to render as the default for the field. |
Returns
object Rendered Form Field object
Defined in
libraries/joomla/form/form.php
Importing
jimport( 'joomla.form.form' );
Source Body
public function getField($name, $group = '_default', $formControl = '_default', $groupControl = '_default', $value = null)
{
// Get the XML node.
$node = isset($this->_groups[$group][$name]) ? $this->_groups[$group][$name] : null;
// If there is no XML node for the given field name, return false.
if (empty($node)) {
return false;
}
// Load the field type.
$type = $node->attributes()->type;
$field = & $this->loadFieldType($type);
// If the field could not be loaded, get a text field.
if ($field === false) {
$field = & $this->loadFieldType('text');
}
// Get the value for the form field.
if ($value === null) {
$value = (array_key_exists($name, $this->_data[$group]) && ($this->_data[$group][$name] !== null)) ? $this->_data[$group][$name] : (string)$node->attributes()->default;
}
// Check the form control.
if ($formControl == '_default') {
$formControl = $this->_options['array'];
}
// Check the group control.
if ($groupControl == '_default'&& isset($this->_fieldsets[$group])) {
$array = $this->_fieldsets[$group]['array'];
if ($array === true) {
if(isset($this->_fieldsets[$group]['parent'])) {
$groupControl = $this->_fieldsets[$group]['parent'];
} else {
$groupControl = $group;
}
} else {
$groupControl = $array;
}
}
// Set the prefix
$prefix = $this->_options['prefix'];
// Render the field.
return $field->render($node, $value, $formControl, $groupControl, $prefix);
}
<! removed transcluded page call, red link never existed >
Examples
Code Examples