JForm/getField
From Joomla! Documentation
< API16:JForm
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Description[edit]
Method to get a form field.
<! removed transcluded page call, red link never existed >
Syntax[edit]
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[edit]
object Rendered Form Field object
Defined in[edit]
libraries/joomla/form/form.php
Importing[edit]
jimport( 'joomla.form.form' );
Source Body[edit]
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[edit]
Code Examples[edit]