Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JFormField
+ Graphe d'héritage de JFormField:

Liste de tous les membres

Fonctions membres publiques

 __construct ($form=null)
 __get ($name)
 __set ($name, $value)
 setForm (JForm $form)
 setup (SimpleXMLElement $element, $value, $group=null)
 setValue ($value)
 getAttribute ($name, $default=null)
 getControlGroup ()

Attributs publics

 $repeat = false

Fonctions membres protégées

 getId ($fieldId, $fieldName)
 getInput ()
 getTitle ()
 getLabel ()
 getName ($fieldName)
 getFieldName ($fieldName)

Attributs protégés

 $description
 $hint
 $autocomplete = 'on'
 $spellcheck = true
 $autofocus = false
 $element
 $form
 $formControl
 $hidden = false
 $translateLabel = true
 $translateDescription = true
 $translateHint = true
 $id
 $input
 $label
 $multiple = false
 $pattern
 $name
 $fieldname
 $group
 $required = false
 $disabled = false
 $readonly = false
 $type
 $validate
 $value
 $default
 $size
 $class
 $labelClass
 $onchange
 $onclick

Attributs protégés statiques

static $count = 0
static $generated_fieldname = '__field'

Description détaillée

Définition à la ligne 19 du fichier field.php.


Documentation des constructeurs et destructeur

JFormField::__construct (   $form = null)

Method to instantiate the form field object.

Paramètres:
JForm$formThe form to attach to the form field object.
Depuis:
11.1

Définition à la ligne 314 du fichier field.php.

Références JStringNormalise\fromCamelCase(), et JString\ucfirst().

{
// If there is a form passed into the constructor set the form and form control properties.
if ($form instanceof JForm)
{
$this->form = $form;
$this->formControl = $form->getFormControl();
}
// Detect the field type if not set
if (!isset($this->type))
{
$parts = JStringNormalise::fromCamelCase(get_called_class(), true);
if ($parts[0] == 'J')
{
$this->type = JString::ucfirst($parts[count($parts) - 1], '_');
}
else
{
$this->type = JString::ucfirst($parts[0], '_') . JString::ucfirst($parts[count($parts) - 1], '_');
}
}
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des fonctions membres

JFormField::__get (   $name)

Method to get certain otherwise inaccessible properties from the form field object.

Paramètres:
string$nameThe property name for which to the the value.
Renvoie:
mixed The property value or null.
Depuis:
11.1

Réimplémentée dans JFormFieldFileList, JFormFieldFolderList, JFormFieldMeter, JFormFieldColor, JFormFieldSQL, JFormFieldCalendar, JFormFieldPassword, JFormFieldText, JFormFieldNumber, JFormFieldRules, JFormFieldCheckboxes, JFormFieldTextarea, JFormFieldTimezone, JFormFieldCheckbox, JFormFieldFile, et JFormFieldPlugins.

Définition à la ligne 348 du fichier field.php.

{
switch ($name)
{
case 'description':
case 'hint':
case 'formControl':
case 'hidden':
case 'id':
case 'multiple':
case 'name':
case 'required':
case 'type':
case 'validate':
case 'value':
case 'class':
case 'labelClass':
case 'size':
case 'onchange':
case 'onclick':
case 'fieldname':
case 'group':
case 'disabled':
case 'readonly':
case 'autofocus':
case 'autocomplete':
case 'spellcheck':
return $this->$name;
case 'input':
// If the input hasn't yet been generated, generate it.
if (empty($this->input))
{
$this->input = $this->getInput();
}
return $this->input;
case 'label':
// If the label hasn't yet been generated, generate it.
if (empty($this->label))
{
$this->label = $this->getLabel();
}
return $this->label;
case 'title':
return $this->getTitle();
}
return null;
}
JFormField::__set (   $name,
  $value 
)

Method to set certain otherwise inaccessible properties of the form field object.

Paramètres:
string$nameThe property name for which to the the value.
mixed$valueThe value of the property.
Renvoie:
void
Depuis:
3.2

Réimplémentée dans JFormFieldFileList, JFormFieldFolderList, JFormFieldMeter, JFormFieldColor, JFormFieldSQL, JFormFieldCalendar, JFormFieldPassword, JFormFieldText, JFormFieldNumber, JFormFieldRules, JFormFieldCheckboxes, JFormFieldTextarea, JFormFieldTimezone, JFormFieldCheckbox, JFormFieldFile, et JFormFieldPlugins.

Définition à la ligne 412 du fichier field.php.

Références JLog\add().

{
switch ($name)
{
case 'class':
// Removes spaces from left & right and extra spaces from middle
$value = preg_replace('/\s+/', ' ', trim((string) $value));
case 'description':
case 'hint':
case 'value':
case 'labelClass':
case 'onchange':
case 'onclick':
case 'validate':
case 'pattern':
case 'default':
$this->$name = (string) $value;
break;
case 'id':
$this->id = $this->getId((string) $value, $this->fieldname);
break;
case 'fieldname':
$this->fieldname = $this->getFieldName((string) $value);
break;
case 'name':
$this->fieldname = $this->getFieldName((string) $value);
$this->name = $this->getName($this->fieldname);
break;
case 'multiple':
// Allow for field classes to force the multiple values option.
$value = (string) $value;
$value = $value === '' && isset($this->forceMultiple) ? (string) $this->forceMultiple : $value;
case 'required':
case 'disabled':
case 'readonly':
case 'autofocus':
case 'hidden':
$value = (string) $value;
$this->$name = ($value === 'true' || $value === $name || $value === '1');
break;
case 'autocomplete':
$value = (string) $value;
$value = ($value == 'on' || $value == '') ? 'on' : $value;
$this->$name = ($value === 'false' || $value === 'off' || $value === '0') ? false : $value;
break;
case 'spellcheck':
case 'translateLabel':
case 'translateDescription':
case 'translateHint':
$value = (string) $value;
$this->$name = !($value === 'false' || $value === 'off' || $value === '0');
break;
case 'size':
$this->$name = (int) $value;
break;
default:
if (property_exists(__CLASS__, $name))
{
JLog::add("Cannot access protected / private property $name of " . __CLASS__);
}
else
{
$this->$name = $value;
}
}
}

+ Voici le graphe d'appel pour cette fonction :

JFormField::getAttribute (   $name,
  $default = null 
)

Method to get an attribute of the field

Paramètres:
string$nameName of the attribute to get
mixed$defaultOptional value to return if attribute not found
Renvoie:
mixed Value of the attribute / default
Depuis:
3.2

Définition à la ligne 830 du fichier field.php.

{
if ($this->element instanceof SimpleXMLElement)
{
$attributes = $this->element->attributes();
// Ensure that the attribute exists
if (property_exists($attributes, $name))
{
$value = $attributes->$name;
if ($value !== null)
{
return (string) $value;
}
}
}
return $default;
}
JFormField::getControlGroup ( )

Method to get a control group with label and input.

Renvoie:
string A string containing the html for the control goup
Depuis:
3.2

Définition à la ligne 858 du fichier field.php.

{
if ($this->hidden)
{
return $this->getInput();
}
return
'<div class="control-group">'
. '<div class="control-label">' . $this->getLabel() . '</div>'
. '<div class="controls">' . $this->getInput() . '</div>'
. '</div>';
}
JFormField::getFieldName (   $fieldName)
protected

Method to get the field name used.

Paramètres:
string$fieldNameThe field element name.
Renvoie:
string The field name
Depuis:
11.1

Définition à la ligne 806 du fichier field.php.

{
if ($fieldName)
{
return $fieldName;
}
else
{
self::$count = self::$count + 1;
return self::$generated_fieldname . self::$count;
}
}
JFormField::getId (   $fieldId,
  $fieldName 
)
protected

Method to get the id used for the field input tag.

Paramètres:
string$fieldIdThe field element id.
string$fieldNameThe field element name.
Renvoie:
string The id to be used for the field input tag.
Depuis:
11.1

Définition à la ligne 587 du fichier field.php.

{
$id = '';
// If there is a form control set for the attached form add it first.
if ($this->formControl)
{
}
// If the field is in a group add the group control to the field id.
if ($this->group)
{
// If we already have an id segment add the group control as another level.
if ($id)
{
$id .= '_' . str_replace('.', '_', $this->group);
}
else
{
$id .= str_replace('.', '_', $this->group);
}
}
// If we already have an id segment add the field id/name as another level.
if ($id)
{
$id .= '_' . ($fieldId ? $fieldId : $fieldName);
}
else
{
$id .= ($fieldId ? $fieldId : $fieldName);
}
// Clean up any invalid characters.
$id = preg_replace('#\W#', '_', $id);
// If this is a repeatable element, add the repeat count to the ID
if ($this->repeat)
{
$repeatCounter = empty($this->form->repeatCounter) ? 0 : $this->form->repeatCounter;
$id .= '-' . $repeatCounter;
if (strtolower($this->type) == 'radio')
{
$id .= '-';
}
}
return $id;
}
JFormField::getLabel ( )
protected

Method to get the field label markup.

Renvoie:
string The field label markup.
Depuis:
11.1

Réimplémentée dans JFormFieldSpacer, et JFormFieldNote.

Définition à la ligne 678 du fichier field.php.

Références JText\_().

{
$label = '';
if ($this->hidden)
{
return $label;
}
// Get the label text from the XML element, defaulting to the element name.
$text = $this->element['label'] ? (string) $this->element['label'] : (string) $this->element['name'];
$text = $this->translateLabel ? JText::_($text) : $text;
// Build the class for the label.
$class = !empty($this->description) ? 'hasTooltip' : '';
$class = $this->required == true ? $class . ' required' : $class;
$class = !empty($this->labelClass) ? $class . ' ' . $this->labelClass : $class;
// Add the opening label tag and main attributes attributes.
$label .= '<label id="' . $this->id . '-lbl" for="' . $this->id . '" class="' . $class . '"';
// If a description is specified, use it to build a tooltip.
if (!empty($this->description))
{
JHtml::_('bootstrap.tooltip');
$label .= ' title="' . JHtml::tooltipText(trim($text, ':'), JText::_($this->description), 0) . '"';
}
// Add the label text and closing tag.
if ($this->required)
{
$label .= '>' . $text . '<span class="star">&#160;*</span></label>';
}
else
{
$label .= '>' . $text . '</label>';
}
return $label;
}

+ Voici le graphe d'appel pour cette fonction :

JFormField::getName (   $fieldName)
protected

Method to get the name used for the field input tag.

Paramètres:
string$fieldNameThe field element name.
Renvoie:
string The name to be used for the field input tag.
Depuis:
11.1

Définition à la ligne 728 du fichier field.php.

{
// To support repeated element, extensions can set this in plugin->onRenderSettings
$repeatCounter = empty($this->form->repeatCounter) ? 0 : $this->form->repeatCounter;
$name = '';
// If there is a form control set for the attached form add it first.
if ($this->formControl)
{
}
// If the field is in a group add the group control to the field name.
if ($this->group)
{
// If we already have a name segment add the group control as another level.
$groups = explode('.', $this->group);
if ($name)
{
foreach ($groups as $group)
{
$name .= '[' . $group . ']';
}
}
else
{
$name .= array_shift($groups);
foreach ($groups as $group)
{
$name .= '[' . $group . ']';
}
}
}
// If we already have a name segment add the field name as another level.
if ($name)
{
$name .= '[' . $fieldName . ']';
}
else
{
$name .= $fieldName;
}
// If the field should support multiple values add the final array segment.
if ($this->multiple)
{
switch (strtolower((string) $this->element['type']))
{
case 'text':
case 'textarea':
case 'email':
case 'password':
case 'radio':
case 'calendar':
case 'editor':
case 'hidden':
break;
default:
$name .= '[]';
}
}
return $name;
}
JFormField::getTitle ( )
protected

Method to get the field title.

Renvoie:
string The field title.
Depuis:
11.1

Réimplémentée dans JFormFieldSpacer.

Définition à la ligne 655 du fichier field.php.

Références JText\_().

{
$title = '';
if ($this->hidden)
{
return $title;
}
// Get the label text from the XML element, defaulting to the element name.
$title = $this->element['label'] ? (string) $this->element['label'] : (string) $this->element['name'];
$title = $this->translateLabel ? JText::_($title) : $title;
return $title;
}

+ Voici le graphe d'appel pour cette fonction :

JFormField::setForm ( JForm  $form)

Method to attach a JForm object to the field.

Paramètres:
JForm$formThe JForm object to attach to the form field.
Renvoie:
JFormField The form field object so that the method can be used in a chain.
Depuis:
11.1

Définition à la ligne 498 du fichier field.php.

Références JForm\getFormControl().

{
$this->form = $form;
$this->formControl = $form->getFormControl();
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JFormField::setup ( SimpleXMLElement  $element,
  $value,
  $group = null 
)

Method to attach a JForm object to the field.

Paramètres:
SimpleXMLElement$elementThe SimpleXMLElement object representing the <field> tag for the form field object.
mixed$valueThe form field value to validate.
string$groupThe field name group control value. This acts as as an array container for the field. For example if the field has name="foo" and the group value is set to "bar" then the full field name would end up being "bar[foo]".
Renvoie:
boolean True on success.
Depuis:
11.1

Réimplémentée dans JFormFieldFileList, JFormFieldFolderList, JFormFieldMeter, JFormFieldColor, JFormFieldSQL, JFormFieldText, JFormFieldPassword, JFormFieldCalendar, JFormFieldNumber, JFormFieldRules, JFormFieldCheckboxes, JFormFieldTextarea, JFormFieldTimezone, JFormFieldCheckbox, JFormFieldFile, et JFormFieldPlugins.

Définition à la ligne 519 du fichier field.php.

{
// Make sure there is a valid JFormField XML element.
if ((string) $element->getName() != 'field')
{
return false;
}
// Reset the input and label values.
$this->input = null;
$this->label = null;
// Set the XML element object.
$this->element = $element;
// Set the group of the field.
$this->group = $group;
$attributes = array(
'multiple', 'name', 'id', 'hint', 'class', 'description', 'labelClass', 'onchange',
'onclick', 'validate', 'pattern', 'default', 'required',
'disabled', 'readonly', 'autofocus', 'hidden', 'autocomplete', 'spellcheck',
'translateHint', 'translateLabel', 'translateDescription', 'size');
$this->default = isset($element['value']) ? (string) $element['value'] : $this->default;
// Set the field default value.
$this->value = $value;
foreach ($attributes as $attributeName)
{
$this->__set($attributeName, $element[$attributeName]);
}
// Allow for repeatable elements
$repeat = (string) $element['repeat'];
$this->repeat = ($repeat == 'true' || $repeat == 'multiple' || (!empty($this->form->repeat) && $this->form->repeat == 1));
// Set the visibility.
$this->hidden = ($this->hidden || (string) $element['type'] == 'hidden');
return true;
}
JFormField::setValue (   $value)

Simple method to set the value

Paramètres:
mixed$valueValue to set
Renvoie:
void
Depuis:
3.2

Définition à la ligne 572 du fichier field.php.

{
$this->value = $value;
}

Documentation des données membres

JFormField::$autocomplete = 'on'
protected

Définition à la ligne 44 du fichier field.php.

JFormField::$autofocus = false
protected

Définition à la ligne 61 du fichier field.php.

JFormField::$class
protected

Définition à la ligne 265 du fichier field.php.

JFormField::$count = 0
staticprotected

Définition à la ligne 297 du fichier field.php.

JFormField::$default
protected

Définition à la ligne 249 du fichier field.php.

JFormField::$description
protected

Définition à la ligne 27 du fichier field.php.

JFormField::$disabled = false
protected

Définition à la ligne 208 du fichier field.php.

JFormField::$element
protected

Définition à la ligne 69 du fichier field.php.

JFormField::$fieldname
protected

Définition à la ligne 182 du fichier field.php.

JFormField::$form
protected

Définition à la ligne 77 du fichier field.php.

JFormField::$formControl
protected

Définition à la ligne 85 du fichier field.php.

JFormField::$generated_fieldname = '__field'
staticprotected

Définition à la ligne 305 du fichier field.php.

JFormField::$group
protected

Définition à la ligne 190 du fichier field.php.

JFormField::$hidden = false
protected

Définition à la ligne 93 du fichier field.php.

JFormField::$hint
protected

Définition à la ligne 35 du fichier field.php.

JFormField::$id
protected

Définition à la ligne 125 du fichier field.php.

JFormField::$input
protected

Définition à la ligne 133 du fichier field.php.

JFormField::$label
protected

Définition à la ligne 141 du fichier field.php.

JFormField::$labelClass
protected

Définition à la ligne 273 du fichier field.php.

JFormField::$multiple = false
protected

Définition à la ligne 150 du fichier field.php.

JFormField::$name
protected

Définition à la ligne 174 du fichier field.php.

JFormField::$onchange
protected

Définition à la ligne 281 du fichier field.php.

JFormField::$onclick
protected

Définition à la ligne 289 du fichier field.php.

JFormField::$pattern
protected

Définition à la ligne 166 du fichier field.php.

JFormField::$readonly = false
protected

Définition à la ligne 216 du fichier field.php.

JFormField::$repeat = false

Définition à la ligne 158 du fichier field.php.

JFormField::$required = false
protected

Définition à la ligne 199 du fichier field.php.

JFormField::$size
protected

Définition à la ligne 257 du fichier field.php.

JFormField::$spellcheck = true
protected

Définition à la ligne 52 du fichier field.php.

JFormField::$translateDescription = true
protected

Définition à la ligne 109 du fichier field.php.

JFormField::$translateHint = true
protected

Définition à la ligne 117 du fichier field.php.

JFormField::$translateLabel = true
protected

Définition à la ligne 101 du fichier field.php.

JFormField::$validate
protected

Définition à la ligne 233 du fichier field.php.

JFormField::$value
protected

Définition à la ligne 241 du fichier field.php.


La documentation de cette classe a été générée à partir du fichier suivant :