Aller au contenu principal
Version: v1

Panel de gestion

Ce système permet à vos clients de pouvoir gérer leur service facilement.

render(RendererInterface $renderer, Service $service): string

Cette méthode rend la vue twig de l'interface utilisateur pour un service spécifique.

public function render(RendererInterface $renderer, Service $service): string;

renderAdmin(RendererInterface $renderer, Service $service): string

Cette méthode rend la vue twig de l'interface d'administration pour un service spécifique.

getTabs(Service $service): array

Cette méthode retourne un tableau des onglets disponibles pour un service spécifique. Chaque onglet peut être un simple élément ou un tableau avec un titre et une URL.

Exemple d'implémentation de getTabs(Service $service): array

Voici un exemple d'implémentation de la méthode getTabs qui retourne les onglets "Graphiques" et "Console" pour un service :

public function getTabs(Service $service): array
{
return [
'graph' => 'Graphiques',
'console' => [
'title' => 'Console',
'url' => '/Proxmox/VNC/' . $service->getId() . '?type=vnc',
],
];
}

Intégration dans le conteneur

Pour utiliser les classes implémentant l' interface PanelInterface vous devez les ajouter dans le conteneur sous la clé 'panel.list' avec les noms de classes associés et les types de produits dédiés.

Exemple de configuration dans le fichier du conteneur du module :

<?php
use function \DI\get;
use function \DI\add;
return [
// ...
'panel.list' => [
add([\App\Example\ExamplePanel::class => ['example']]),
// Ajoutez d'autres types de panel ici...
],
// ...
];