Nous vous expliquions il y a quelques jours comment créer des listes d'entiers et des listes de mois de façon "propre et automatique" grâce à l'API Joomla, cet article vous expliquera comment créer des champs de formulaires personnalisés
Au programme de cette seconde partie :
Les options personnalisées pour vos listes et boutons radios
Les listes personnalisées
Les boutons radios personnalisés
1 ) Les options personnalisées pour vos listes et boutons radios :
a - La syntaxe :
Cette méthode retourne un objet avec deux variables qui sont (par défaut) "text" et "value".
$value : C'est la valeur qui sera utilisé dans la balise HTML pour l'attribut "value"
$text : C'est le texte qui sera affiché dans la balise HTML. Si ce paramètre n'est pas renseigné, il prendra par défaut la valeur définie dans $value
$value_name : C'est le nom que vous pouvez donner pour renommer la variable "value". Si ce paramètre n'est pas renseign la variable s'appelera 'value'.
$text_name : C'est le nom que vous pouvez donner pour renommer la variable "text". Si ce paramètre n'est pas renseign la variable s'appelera text.
b - Exemples de code :
// Option et value ont les mêmes valeurs, ici des noms de ville.
$citylist = array();
$citylist[] = mosHTML::makeOption( 'Paris' );
$citylist[] = mosHTML::makeOption( 'London' );
$citylist[] = mosHTML::makeOption( 'Berlin' );
// text est le nom des pays alors que value est un code sur deux caractères
$countrylist = array();
$countrylist = mosHTML::makeOption( 'FR', 'France' );
$countrylist = mosHTML::makeOption( 'EN', 'England' );
$countrylist = mosHTML::makeOption( 'DE', 'Deutschland' );
// On commence par créer une option "vierge" qui permet d'afficher une ligne "select an user"
// On ajoute de nouvelles lignes au tableau grâce à "array_merge", ces données sont récupérées depuis la base de données par lme biais d'une requete SQL
// text est le username stocké dans la base, value est l'ID équivalent
$users = array();
$users[] = mosHTML::makeOption( '0', 'Select an user' );
$database->setQuery( "SELECT id AS value, username AS text FROM #__users" );
$users = array_merge( $users, $database->loadObjectList() );
2 ) Les boutons radios personnalisés :
a - La syntaxe :
$arr : C'est un tableau d'objet qui est créé par la méthode mosHTML::makeOption (avec la possibilité d'utiliser une requete sur une base de données)
$tag_name : C'est l'attribut name de la liste de boutons radios en HTML
$tag_attribs C'est les attributs supplémentaires que l'on veut assigner aux boutons de la liste.
$selected : C'est la valeur du bouton sélectionné par défaut
$key :C'est le nom que vous pouvez donner pour renommer la variable "value". Si ce paramètre n'est pas renseign la variable s'appelera 'value'.
$text : C'est le nom que vous pouvez donner pour renommer la variable "text". Si ce paramètre n'est pas renseign la variable s'appelera text
$options : C'est un tableau d'objet qui est créé par la méthode mosHTML::makeOption (avec la possibilité d'utiliser une requete sur une base de données)
$tag_name : C'est l'attribut name de la liste select en HTML
$tag_attribs C'est les attributs supplémentaires que l'on veut assigner à la liste select
$key :C'est le nom que vous pouvez donner pour renommer la variable "value". Si ce paramètre n'est pas renseigné la variable s'appelera 'value'.
$text : C'est le nom que vous pouvez donner pour renommer la variable "text". Si ce paramètre n'est pas renseigné la variable s'appelera text
$selected : C'est la ou les valeurs qui seront préselectionnées dans la liste
NeoJoomla is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.