it-swarm.com.de

JFormFieldList im Frontend -> Hinweis: Konvertierung von Array in String

Ich stehe vor einem seltsamen Problem. Ich versuche, ein benutzerdefiniertes Feld für die Frontend - Ansicht meiner Komponente wie folgt zu definieren:

defined('JPATH_BASE') or die;

jimport('joomla.form.formfield');
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');

class JFormFieldAssignToUser extends JFormFieldList
{
    protected $type = 'assigntouser';

    protected function getInput() 
    {
        $html   = array();
        $user   = JFactory::getUser();           
        $html[] = JHtml::_('select.option', "Test", "Test");                            
        $html   = array_merge(parent::getOptions(), $html);
        return $html;
    }
}

jetzt füge ich dies zu meiner xml hinzu:

<field name        = "assigntouser" 
       type        = "assigntouser"    
       label       = "TEST"                
       description = "TEST"
       filter      = "safehtml"
       default     = "">
    <option value = "">TEST</option>
</field>

und binde es so in mein Layout ein:

<?php echo $this->form->renderFieldset("testfieldset"); ?>

Aber es zeigt nur diesen Fehler:

Hinweis: Konvertierung von Array in String in /var/www/web1/htdocs/layouts/joomla/form/renderfield.php in Zeile 35

Ein Feld, das auf die gleiche Art und Weise aufgebaut ist und dem Backend von Joomla hinzugefügt wird, funktioniert ohne Probleme ...

1
MyFault

Ich denke, Sie möchten getOptions(..) nicht getInput(...) mit einem JFormFieldList verwenden.

getInput gibt den vollen <select /> Eingabe als String. getOptions füllt die Auswahloptionen mit einem Array von <option /> Zeichenfolgen.

3
David Hayes