Paramètres dans composant

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

  • Paramètres dans composant

    Bonjour,
    je tiens tout d'abord à m'excuser si je ne suis pas dans la bonne catégorie... Je suis tout nouveau

    J'ai acheté le livre de Christophe Demko et ai suivi son tuto "Développer un composant".
    Tout ça m'a permis de bien avancer. Par contre, je bloque sur la partie de gestion de paramètres.

    Voila, je vous expose mon problème.
    Je veux créer un petit composant qui permet d'enregistrer des catégories.
    Chaque catégorie contiendra un ou plusieurs services.
    Dans l'affichage de mon composant, je souhaite afficher le contenu de une ou plusieurs catégories qui seront sélectionnées dans les paramètres grâce à des checkboxes.

    Voici le fichier xml pour les parametres :
    Code PHP:
    <fields name="request" addfieldpath="/administrator/components/com_service/models/fields">
            <
    fieldset name="request">
                <
    field
                    name
    ="selection"
                    
    type="checkboxes"
                    
    label="COM_SERVICE_SERVICE_FIELD_LABEL"
                    
    description="COM_SERVICE_SERVICE_FIELD_DESC"
                
    />

            </
    fieldset>
        </
    fields
    Dans ces paramètres, je vais donc chercher le fichier "checkboxes" dans mon dossier "fields"
    checkboxes.php
    Code PHP:
    <?php
    defined
    ('JPATH_BASE') or die;

    jimport('joomla.html.html');
    jimport('joomla.form.formfield');

    class 
    JFormFieldCheckboxes extends JFormField
    {
        protected 
    $type 'Checkboxes';
        protected 
    $forceMultiple true;

        protected function 
    getInput()
        {
            
    $html = array();
            
    $class $this->element['class'] ? ' class="checkboxes '.(string) $this->element['class'].'"' ' class="checkboxes"';
            
    $html[] = '<fieldset id="'.$this->id.'"'.$class.'>';
            
    $options $this->getOptions();
    //die(print_r($options));
            
    $html[] = '<ul>';
            foreach (
    $options as $option) {
                
    $checked    = (in_array((string)$option->value,(array)$this->value) ? ' checked="checked"' '');
                
    $class        = !empty($option->class) ? ' class="'.$option->class.'"' '';
                
    $disabled    = !empty($option->disable) ? ' disabled="disabled"' '';
                
    $onclick    = !empty($option->onclick) ? ' onclick="'.$option->onclick.'"' '';
                
    $html[] = '<li>';
                
    $html[] = '<input type="checkbox" id="'.$this->id.'" name="'.$this->name.'"' .
                        
    ' value="'.htmlspecialchars($option->titleENT_COMPAT'UTF-8').'"'
                        
    .$checked.$class.$onclick.$disabled.'/>';

                
    $html[] = '<label >'.JText::_($option->title).'</label>';
                
    $html[] = '</li>';
            }
            
    $html[] = '</ul>';
            
    $html[] = '</fieldset>';

            return 
    implode($html);
        }

            protected function 
    getOptions()
        {
            
    // Initialize variables.
                
    $db JFactory::getDBO();
                
    $query $db->getQuery(true);
                
    $query->select('id, title');
                
    $query->from('#__categories');
                
    $query->where("extension='com_service'");
                
    $db->setQuery((string)$query);
                
    $options $db->loadObjectList();


            return 
    $options;
        }
    }
    A ce niveau, je génère bien une liste de chekboxes en fonction de ma BDD. Mais je me pose à un problème, comment récupérer ces données afin de les afficher?

    Je vous remercie par avance du peu de temps que vous pourrez m'accorder.

    Julien

  • #2
    Re : Paramètres dans composant

    Bonjour,
    après quelques jours de recherche, j'en reste au même point. J'ai donc décidé de revoir ma copie à la baisse pour avoir un composant fonctionnel. Mais celui-ci reste basique.
    J'ai décidé de faire en sorte qu'il affiche toutes les catégories avec une liste des services dans chaque catégorie.

    Bien sûr, dans un soucis d'ergonomie et d'évolutivité, je garde mon objectif en vue.
    Je réitère donc mon offre, si quelqu'un souhaite m'aiguiller, je ne suis pas contre.

    Merci d'avance et bonne journée.

    Julien

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X