Je suis confronté à un problème étrange. J'essaie de définir un champ personnalisé pour la vue frontend - de mon composant, comme ceci:
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;
}
}
maintenant j'ajoute ceci à mon xml:
<field name = "assigntouser"
type = "assigntouser"
label = "TEST"
description = "TEST"
filter = "safehtml"
default = "">
<option value = "">TEST</option>
</field>
et l'inclure à ma mise en page comme ça:
<?php echo $this->form->renderFieldset("testfieldset"); ?>
Mais il ne montre que cette erreur:
Avis: Conversion de tableau en chaînes dans /var/www/web1/htdocs/layouts/joomla/form/renderfield.php à la ligne 35
Un champ, conçu de la même manière, ajouté au backend de Joomla, fonctionne sans problème ...
Je pense que vous voulez utiliser getOptions(..)
pas getInput(...)
avec un JFormFieldList
.
getInput
renvoie l'entrée complète <select />
sous forme de chaîne. getOptions
remplit les options de sélection avec un tableau de chaînes <option />
.