web-dev-qa-db-fra.com

Comment accéder à un ensemble de champs spécifique dans un formulaire de ma classe de modèle?

J'utilise le code ci-dessous pour obtenir les valeurs de formulaire:

$data = JFactory::getApplication()->input->get('jform', array(), 'array');

Cependant, quand j'utilise json_encode, il code tous les champs de formulaire que j'utilise. Comment sélectionner des champs dans le formulaire à partir d'un ensemble de champs spécifique? J'ai deux champs dans mon formulaire, l'original et l'autre appelé 'reportFilters'. Je ne peux utiliser que getFieldset dans ma classe de vue.

2
Break the Law

Comme mes champs personnalisés provenaient tous de la base de données, j’avais une solution de contournement à ce problème: créer un nouveau tableau associatif, charger les champs personnalisés à partir de la base de données, puis attribuer des valeurs aux champs personnalisés provenant de ce que j’avais. à partir de ce code.

$data = JFactory::getApplication()->input->get('jform', array(), 'array');

La seule chose qui a rendu cela difficile, c’est que je devais créer le formulaire le plus dynamique possible.

1
Break the Law

Lorsque vous utilisez la commande ci-dessus pour récupérer les données de demande du serveur, les champs de formulaire sont organisés dans un tableau clé/valeur. Quel ensemble de champs n'est pas pertinent pour extraire les données du tableau, utilisez simplement le nom du champ de formulaire indiqué dans le fichier de définition de formulaire XML. Donc, si vous aviez un champ appelé 'prénom_nom', vous y accéderiez comme vous le vouliez, quel que soit le jeu de champs:

$data = JFactory::getApplication()->input->get('jform', array(), 'array');
$data['first_name']

J'espère que ça t'as aidé.

3
Brian Bolli