# Statistics Plugin Toont bezoekersstatistieken: totaal aantal views, unieke bezoekers, landen en top pagina's op een admin-pagina. ## Plugin type **Systeem** plugin. De plugin-output volgt de geselecteerde **admin taal** (via `AdminPluginAPI::getPluginTranslations()` met `admin.php`). ## Bestandsstructuur ``` Statistics/ ├── Statistics.php # Hoofd plugin class ├── plugin.json # Plugin metadata + instellingen ├── README.md # Dit bestand ├── assets/ # Optionele CSS/JS (leeg) └── language/ # Vertalingen ├── nl/admin.php # Nederlandse admin labels └── en/admin.php # Engelse admin labels ``` ## Functies - **Totaal aantal views**: Totaal aantal paginaweergaven - **Unieke bezoekers**: Aantal unieke bezoekers - **Pagina views**: Totaal aantal pagina views - **Landen**: Overzicht van bezoekers per land (met vlag-emoji) - **Top pagina's**: Meest bezochte pagina's Statistieken worden alleen getoond als Analytics is ingeschakeld in de site configuratie; anders wordt een waarschuwing getoond. ## Instellingen Deze plugin heeft instelbare configuratie (`hasConfig: true`). Instellingen worden gedefinieerd in `plugin.json` onder `settings` en overschreven via `config.json`. | Sleutel | Type | Standaard | Beschrijving | |---------|------|-----------|--------------| | `required_roles` | multi-select | `bi-manager, site-admin, admin` | Rollen die deze plugin mogen zien | | `show_countries` | checkbox | `true` | Schakel het landen-overzicht in of uit | | `show_top_pages` | checkbox | `true` | Schakel het top pagina's overzicht in of uit | De label- en help-teksten voor instellingen worden vertaald via `label_key`/`help_key` (verwijst naar sleutels in `language//admin.php`). ## Taal support De plugin gebruikt `AdminPluginAPI::getPluginTranslations('Statistics')` om labels op te halen. Fallback chain: 1. Geselecteerde admin taal 2. Plugin `default_language` (`nl`) 3. Lege array (sleutel wordt ongewijzigd getoond) Beschikbare sleutels staan in `language//admin.php`. Het admin-menu label wordt vertaald via `label_key: 'menu_label'` in `getAdminMenu()`.