setAttribute('validate', 'options'); foreach ($this->getOptionsFromField($field) as $value => $name) { $option = new DOMElement('option', htmlspecialchars($value, ENT_COMPAT, 'UTF-8')); $option->textContent = htmlspecialchars(JText::_($name), ENT_COMPAT, 'UTF-8'); $element = $fieldNode->appendChild($option); $element->setAttribute('value', $value); } return $fieldNode; } /** * Returns an array of key values to put in a list from the given field. * * @param stdClass $field The field. * * @return array * * @since 3.7.0 */ public function getOptionsFromField($field) { $data = array(); // Fetch the options from the plugin $params = clone $this->params; $params->merge($field->fieldparams); foreach ($params->get('options', array()) as $option) { $op = (object) $option; $data[$op->value] = $op->name; } return $data; } }