utilisation de JHTML::_('select.radiolist'

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] utilisation de JHTML::_('select.radiolist'

    Bonjour,

    après recherche infructueuse sur le forum, je me décide à poster ma question (juste 8 réponse pour une recherche sur radiolist) :

    Le code
    Code:
    JHTML::_('select.radiolist'
    permet de créer des boutons radios à notre convenance. Il intègre beaucoup de paramètres :
    Code:
    string radiolist (array $data, string $name, [string $attribs = null], [mixed $optKey = 'value'], [string $optText = 'text'], [string $selected = null], [boolean $idtag = false], [boolean $translate = false])
    mais je ne parviens pas à obtenir une mise en forme qui me plaise. En gros, radiolist créé des boutons les uns à cé des autres suivis de leur texte :
    O titi O toto => deux boutons (de même nom au sens HTML) avec le choix 'titi' ou 'toto' (j'en préselectionne un des deux par défaut).
    Ce que j'aimerais obtenir est plus un tableau (désolé pour l'affichage - tableau avec entete colonne titi et toto et deux ligne X et Y):

    titi toto
    X O O
    Y O O


    Comment faire pour intégrer cette notion de tableau ?
    Que peux contenir $attribs ?

    Merci de vos réponses.
    Voici le code utilisé :
    Code:
    		foreach ($this->groups as $grp)
    			{
    			$query = "SELECT id,name,username FROM #__users, #__user_usergroup_map WHERE id=user_id AND group_id='".$grp->id."'";
    			$db->setQuery( $query );
    			$this->resp_group[$grp->id] = $db->loadObjectList();
    
    $name = $grp->id;
    $attribs = null;
    $selected = 'toto';
    $id=false;
    $disable = false;
    
    $h = new stdClass();
    $h->text = JText::_( '' ); //$h->text = JText::_( 'titi' );
    $h->value = 'titi';
    $w = new stdClass();
    $w->text = JText::_( '' );$h->text = JText::_( 'toto' );
    $w->value = 'toto';
    
    $arr = array( $h, $w );    
    
    $this->lists['sexe'] = JHTML::_('select.radiolist',  $arr, $name, $attribs, 'value', 'text', $selected, $id );

  • #2
    Re : utilisation de JHTML::_('select.radiolist'

    Bonjour

    As-tu déjà été voir le code source pour JHTML::_('select.radiolist') ? Il se trouve dans le fichier /joomla/html/html/select.php. Regarder le code source est un grand, énorme, avantage de Joomla (qui est OpenSource) car il te permet de comprendre comment ça marche.

    $attribs est utilisé pour envoyer des paramètres comme "class='MaClasse' title="Veuillez ..."' càd des options supplémentaires qui seront, dans ce cas-ci, ajouté par Joomla dans le tag <select>.

    Pour revenir à ta question de base, JHTML::_('select.radiolist') ne fait que créer le code pour la liste de choix. Ici, tu parles de mise en page ==> c'est au niveau d'un CSS qu'il faut intervenir.

    Donc, utilise un $attribs où tu mettrais "class='MesBoutons'" et tu définis donc une classe .MesBoutons en CSS où tu feras le nécessaire pour l'affichage souhaité.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : utilisation de JHTML::_('select.radiolist'

      Merci de ta réponse Cavo789, elle me fait progresser dans ma recherche.

      Non en effet je ne suis pas allé voir le fichier select.php. Mais je vais suivre ton conseil et le regarder de près.
      Ok, je vais me servir du CSS pour espacer mes boutons (CSS appliqué à <input> ou <label>, j'avoue ignorer jusqu'où je peux aller avec ses balises => je me renseigne aussi).

      Je laisse le ticket ouvert pour ajouter ce que j'aurai mis en oeuvre.

      Commentaire


      • #4
        Re : utilisation de JHTML::_('select.radiolist'

        Je clos ce ticket, je suis arrivé à mes fins. Enfin presque, dans la mesure ou le code HTML généré n'est pas propre mais fonctionne.
        J'ai ajouté
        Code:
        <link rel="stylesheet" href="<?php echo $this->baseurl ?>/components/com_moncomposant/css/monstyle.css" type="text/css" />
        dans la partie VUE de mon code (com_moncomposant/views/moncomposant/tmpl/default.php) et le fichier css contient :
        Code:
        @charset "UTF-8";
        
        .liste_user //class de mes boutons radio
        	{
        	margin: 5px 30px 5px 5px;
        	}
        J'aurai aimé que l'intégration de mon fichier css se fasse dans le <head> à l'affichage mais je n'ai pas trouvé où faire l'inclusion. Si quelqu'un a une piste je suis preneur ! (mes recherches sur le net m'ont menées vers addCustomHeadTag pour joomla1.5, je ne connais pas l équivalent pour Joomla1.7).

        Merci

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X