web-dev-qa-db-fra.com

Joomla list formfield reste vide lors de la charge d'exécution

Je fais face au problème, que j'ai listfield formfield, où aucune valeur n'a été définie dans la description XML formfield. Les valeurs du champ de liste seront créées au moment de l'exécution via jquery. Lorsque je choisis une valeur, la valeur sera stockée dans la base de données, mais avec une nouvelle ouverture du formulaire, la valeur de la base de données sera chargée, mais ne sera pas affichée dans le champ de liste. Le champ de liste reste vide. Est-ce dû à l'absence de valeurs standard dans la description du formulaire XML?

2
Perino

Vous devez créer un élément de champ à la volée si les données de cet élément existent. Par exemple:

if (isset($data->someField) && !empty($data->someField))
{
    $element = new SimpleXMLElement(
        '<field 
            name="someField"
            type="text"
            label="Label"
            description="Description" 
        />'
    );

    $form->setField($element);
}

Vous pouvez le placer dans la méthode preprocessForm() ou dans la méthode getForm() de votre modèle.

1
Dmitry Rekun