API16

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]