Connexion S'inscrire

Connectez-vous

Login *
Mot de passe *
Se souvenir de moi

Créer un compte

Les champs marqués d'un astérisque (*) sont requis.
Nom *
Login *
Mot de passe *
Vérification mot de passe *
Email *
Vérification email *
Captcha *

Création d'un composant Joomla (partie 22) Configuration - Administration


Dans cette partie,  nous allons rajouter les paramètres de configuration pour donner plus de liberté à l'administrateur de contrôler la façon dont les données s'afficheront sur le site côté client. Toute cette partie de passe au côté administrateur donc dans le dossier administrator. Si vous êtes arrivés directement sur cette page, peut-être que vous aimeriez commencer par le début: Partie 1 | Partie 2 | Partie 3 | Partie 4 | Partie 5 | Partie 6 | Partie 7 | Partie 8 | Partie 9 | Partie 10 | Partie 11 | Partie 12 | Partie 13 | Partie 14 | Partie 15 | Partie 16 | Partie 17 | Partie 18 | Partie 19 | Partie 20 | Partie 21

1 - Introduction

La configuration apporte plus de liberté à l'administrateur d'un site Joomla. Elle lui permet de décider d'afficher ou de ne pas afficher certains des éléments sur le site, de décider dans quel ordre les éléments peuvent être afficher... Dans notre cas, nous allons avoir 4 éléments dans notre configuration. Une liste pour sélectionner la façon dont on veut ordonner les guitaristes. Des boutons radio pour afficher ou non le nom de l'auteur. Des boutons radio pour afficher ou non la date de création. Des boutons radio pour afficher ou masquer la catégorie. 

 

2 - Le fichier de configuration (config.xml)

La configuration en général est un fichier XML nommé config.xml. Toute la configuration est placée entre des balises <config></config>. Le reste se passe presque de la même façon qu'un formulaire. Nous allons mettre les éléments dans deux onglets (fieldset) "Liste" et "Affichage". Dans le dossier du composant en administration, créons le fichier config.xml. Voici le contenu du fichier :

<?xml version="1.0" encoding="utf-8"?>
<config>
  <fieldset name="list"
            label="COM_DJGUITARISTE_LIST_LABEL"
            description="COM_DJGUITARISTE_LIST_DESC">
            
         
     <field name="oderby"
            type="list"
            default="rdate"
            label="COM_DJGUITARISTE_GUITARISTE_ORDER_LABEL"       
            description=" ">
       <option value="ordering">COM_DJGUITARISTE_ORDERING</option>
       <option value="rdate">JGLOBAL_MOST_RECENT_FIRST</option>       
       <option value="date">JGLOBAL_OLDEST_FIRST</option>       
       <option value="alpha">COM_DJGUITARISTE_NAME_ALPHABETICAL</option>       
       <option value="ralpha">COM_DJGUITARISTE_NAME_REVERSE_ALPHABETICAL</option>                     
     </field>
                   
  </fieldset>
  <fieldset name="displaying"
    label="COM_DJGUITARISTE_DISPLAYING_LABEL"
    description="COM_DJGUITARISTE_DISPLAYING_DESC">
    
    <field
      name="show_author"
      type="radio"
      label="COM_DJGUITARISTE_SHOW_AUTHOR_LABEL"
      description="COM_DJGUITARISTE_SHOW_AUTHOR_DESC"
      class="btn-group btn-group-yesno"
      default="1"
      >
      <option value="1">JSHOW</option>
      <option value="0">JHIDE</option>
    </field>
    
    <field
      name="show_created"
      type="radio"
      label="COM_DJGUITARISTE_SHOW_CREATED_LABEL"
      description="COM_DJGUITARISTE_SHOW_CREATED_DESC"
      class="btn-group btn-group-yesno"
      default="1"
      >
      <option value="1">JSHOW</option>
      <option value="0">JHIDE</option>
    </field>
    
    <field
      name="show_category"
      type="radio"
      label="COM_DJGUITARISTE_SHOW_CATEGORY_LABEL"
      description="COM_DJGUITARISTE_SHOW_CATEGORY_DESC"
      class="btn-group btn-group-yesno"
      default="1"
      >
      <option value="1">JSHOW</option>
      <option value="0">JHIDE</option>
    </field>  
    
  </fieldset>

</config>

3 -  Ajout du bouton de configuration

C'est possible que le bouton "Paramètres" soit déjà visible sur la page de la vue liste.

Si le bouton n'est pas affiché, nous devons l'ajouter dans le fichier view.html.php qui se trouve dans views/guitaristes. Dans la méthode addToolBar(), nous ajoutons la ligne suivante:

JToolbarHelper::preferences('com_djguitariste');

La méthode addToolBar() devrait ressembler à ceci :

protected function addToolbar(){
    JToolbarHelper::title(JText::_('COM_DJGUITARISTE_MANAGE_GUITARISTES'));
    JToolbarHelper::addNew('guitariste.add');
    JToolbarHelper::editList('guitariste.edit');
    JToolbarHelper::publish('guitaristes.publish');
    JToolbarHelper::unpublish('guitaristes.unpublish');
    JToolbarHelper::deleteList('', 'guitaristes.delete');
    JToolbarHelper::preferences('com_djguitariste');
    
    JToolbarHelper::divider();
    
    //Un lien externe pour la page d'aide
$external_url = "http://docteurjoomla.com"; JToolbarHelper::help('JHELP_COMPONENTS_DJGUITARISTE_GUITARISTES_EDIT', false, $external_url); }

À la dernière ligne de cette méthode, nous avons défini  un lien externe comme page d'aide pour notre composant. Le bouton "Aide" est affiché en haut à droite juste avant le bouton "Paramètres" dans la barre d'outils.

4 - Le fichier de langue

Il nous reste à ajouter les nouveaux clés utilisés dans le fichier config.xml dans notre fichier de langue (en administration). donc dans language/fr-FR/, nous ajoutons les lignes suivantes dans le fichier fr-FR.com_djguitariste.ini :

COM_DJGUITARISTE_SHOW_AUTHOR_LABEL="Afficher l'auteur"
COM_DJGUITARISTE_SHOW_AUTHOR_DESC="Afficher le nom de l'auteur sur les pages de guitaristes"
COM_DJGUITARISTE_DISPLAYING_LABEL="Affichage"
COM_DJGUITARISTE_DISPLAYING_DESC="Sélectionnez les éléments à afficher"
COM_DJGUITARISTE_SHOW_CREATED_LABEL="Afficher la date"
COM_DJGUITARISTE_SHOW_CREATED_DESC="Afficher la date de création de l'élément"
COM_DJGUITARISTE_SHOW_CATEGORY_LABEL="Afficher la catégorie"
COM_DJGUITARISTE_SHOW_CATEGORY_DESC="Afficher la catégorie du guitariste"
COM_DJGUITARISTE_ORDERING="Par ordre des guitaristes"

COM_DJGUITARISTE_LIST_LABEL="Liste"
COM_DJGUITARISTE_LIST_DESC="Configuration de la vue liste"

Voilà nous venons de finir la mise en place de la configuration en administration. Le prochain tutoriel va concerner la partie client (sur le site).

Si vous avez des questions, veuillez utiliser le formulaire de contact ou notre page Facebook.

Lire la suite... 

 


  • Dernière modification le vendredi, 27 octobre 2017 08:34
  • 299
Docteur Joomla

Après plus de 10 ans d'expérience en Joomla, je lance ce Blog pour partager mes connaissances avec les autres développeurs Joomla.