J4.x

Développement d'un composant MVC - Ajout d'un type de menu pour la partie publique du site

From Joomla! Documentation

< J4.x:Developing an MVC Component
This page is a translated version of the page J4.x:Developing an MVC Component/Adding a Menu Type to the Site Part and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎français
Joomla! 
4.x
>Tutorial
Ajout d'un type de menu à la partie site



This article is part of the tutorial "Developing an MVC Component for Joomla 4.x". It is intended to be a follow-along programming tutorial, so if you have not read the previous parts of the tutorial you are encouraged to do so.

Ajout d'un lien de menu

Dans cet article, nous allons voir comment ajouter un élément de menu à notre composant Hello World. Il s'agit d'un processus très simple, dans lequel nous créons un fichier de configuration de menu à côté de notre modèle de page avec un nom correspondant. Ce fichier est ensuite lu par le système de menu de Joomla ! et notre page devient une cible de lien disponible.

Créons le fichier de configuration de notre modèle "Hello World" :

1 Créer : site/tmpl/hello/default.xml La description de l'élément de menu pour le modèle de page "Hello".
2 Mettre à jour : helloworld.xml Nouvelle version du manifeste du composant

site/tmpl/hello/default.xml

<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="Hello World!">
        <message><![CDATA[My first Joomla! page]]></message>
    </layout>
</metadata>

helloworld.xml

Et comme toujours, nous mettons à jour le fichier manifeste de notre extension avec le nouveau numéro de version.

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="4.0" method="upgrade">

    <name>Hello World</name>
    <!-- The following elements are optional and free of formatting constraints -->
    <creationDate>December 2020</creationDate>
    <!-- Dummy author, feel free to replace anywhere you see it-->
    <author>John Smith</author>
    <authorUrl>https://smith.ca</authorUrl>
    <copyright>John Smith</copyright>
    <license>GPL v3</license>
    <!--  The version string is recorded in the components table -->
    <version>0.0.3</version>
    <!-- The description is optional and defaults to the name -->
    <description>
        A hello world component!
    </description>

    <!-- This is the PHP namespace under which the extension's
    code is organised. It should follow this format:
    
    Vendor\Component\ComponentName

    "Vendor" can be your company or your own name
    
    The "ComponentName" section MUST match the name used 
    everywhere else for your component. Whatever the name of 
    this XML file is, the namespace must match (ignoring CamelCase). 
    -->
    <namespace path="src/">JohnSmith\Component\HelloWorld</namespace>

    <files folder="site/">
        <folder>src</folder>
        <folder>tmpl</folder>
    </files>

    <administration>
        <!-- The link that will appear in the Admin panel's "Components" menu -->
        <menu link="index.php?option=com_helloworld">Hello World</menu>
        <!-- List of files and folders to copy, and where to copy them -->
        <files folder="admin/">
            <folder>services</folder>
            <folder>src</folder>
            <folder>tmpl</folder>
        </files>
    </administration>

</extension>

Test de l'élément de menu

Archivez en zip et installez votre extension comme précédemment. Une fois que vous l'avez fait, développez la section "Menus" du menu de gauche, et cliquez sur l'icône du signe plus à côté du Menu principal. Vous accéderez ainsi à l'écran "Nouvel élément de menu".

Où trouver le bouton "Nouvel élément de menu" dans le menu du panneau d'administration de Joomla !

Il existe de nombreuses options ici, mais les deux qui nous intéressent sont le nom du lien et son type. Donnez au lien de menu un nom tel que "Hello World", puis sélectionnez le type d'élément de menu. Vous verrez une liste de tous les types d'éléments de menu disponibles, classés par catégorie.

Le premier lien du nouveau composant "Hello World" apparaît dans la liste des types d'éléments de menu disponibles.

Vous devriez voir notre composant "Hello World" dans une nouvelle catégorie. Développez cette catégorie et notre nouveau type de lien devrait apparaître. Sélectionnez-le, puis enregistrez l'élément de menu. Rendez-vous sur le site public de votre installation Joomla ! et vous devriez voir le lien "Hello World" apparaître dans le menu principal. En cliquant dessus, vous accéderez à la page "Hello World" que nous avons créée dans le dernier article.

Voyez comme c'était facile !