Définir des onglets

Déclarer des onglets pour les pages exec de l’espace privé reprend exactement la même syntaxe que les boutons. Le nom du parent par contre est obligatoire et correspond à un paramètre transmis dans la fonction d’appel de l’onglet dans le fichier exec :

<onglet id='identifiant' parent='identifiant de la barre onglet'>
    <icone>chemin</icone>
    <titre>chaine de langue</titre>
    <url>nom du fichier exec</url>
    <args>arguments</args>
</onglet>

Comme pour les boutons, si l’url n’est pas renseignée, c’est le nom de l’identifiant qui est utilisé comme nom du fichier à charger.

Autorisations

Encore comme les boutons, une autorisation permet de gérer l’affichage ou non de l’onglet.

function autoriser_identifiant_onglet_dist($faire, $type, $id, $qui, $opt) {
    return true; // ou false
}

Exemple

Le plugin « Champs Extras 2 » ajoute un onglet dans la page de configuration, sur la barre d’onglets nommée très justement « configuration ». Voici ses déclarations dans le fichier plugin.xml :

<pipeline>
    <nom>autoriser</nom>
    <inclure>inc/iextras_autoriser.php</inclure>
</pipeline>
<onglet id='iextras' parent='configuration'>
    <icone>images/iextras-24.png</icone>
    <titre>iextras:champs_extras</titre>
</onglet>

Les autorisations sont définies dans le fichier inc/iextras_autoriser.php. L’onglet s’affichera uniquement si l’auteur est déclaré « webmestre ».

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;

// fonction pour le pipeline, n'a rien a effectuer
function iextras_autoriser(){}

// declarations d'autorisations
function autoriser_iextras_onglet_dist($faire, $type, $id, $qui, $opt) {
    return autoriser('configurer', 'iextras', $id, $qui, $opt);
}

function autoriser_iextras_configurer_dist($faire, $type, $id, $qui, $opt) {
    return autoriser('webmestre', $type, $id, $qui, $opt);
}
?>

Enfin, dans le fichier exec/iextras.php, la barre d’onglet est appelée comme ci-dessous. Le premier argument est l’identifiant de la barre d’onglet souhaitée, le second l’identifiant de l’onglet en cours.

echo barre_onglets("configuration", "iextras");

Auteur Matthieu Marcillaud Publié le : Mis à jour : 08/12/09

Traductions : English, français