web-dev-qa-db-fra.com

Joomla 3 - Comment définir les paramètres du module par programmation?

J'ai un module et les paramètres sont enregistrés via le formulaire de configuration. Je veux ajouter quelques paramètres supplémentaires par programme, par exemple. un jeton?

Est-ce possible?

Merci.

2
Sergiu Tripon

Oui, vous pouvez enregistrer les paramètres du module par programme en prenant l'instance de la table d'extension.

1: mise à jour de JTable

$table = JTable::getInstance('extension');
$table->load($moduleId);
$table->bind(array('params' => $modparams));

Où $ modparams est le paramètre du paramètre mis à jour du module au format JSON.

Mais la meilleure façon de sauvegarder une valeur dans les paramètres d’un module est de vous suggérer de créer un type de champ de formulaire et de l’utiliser dans votre formulaire XML, comme

2: Type de champ de formulaire.

<field name="token" type="mytoken"/>

Ensuite, dans le fichier de champs, retournez un champ masqué qui serait créé à la place de l'entrée XML sous la forme:

return '<input type="hidden" name="'.$this->name.'" value="'.$this->value.'" />';

Lorsque vous créez votre jeton, définissez-le sur la valeur de ce champ et Joomla enregistrera cette valeur dans les paramètres. pour obtenir de l'aide sur le type de champ de formulaire: https://docs.joomla.org/Creating_a_custom_form_field_type

2
Pratyush