# Content API De Content API is beschikbaar in PHP content bestanden (`.php`) en biedt een veilige, read-only interface tot CMS data. ## Gebruik in PHP content bestanden ```php getAllPages(); // Resultaat: ['index' => 'Home', 'over-ons' => 'Over ons', ...] // Specifieke pagina ophalen $page = $api->getPage('over-ons'); // Resultaat: ['title' => 'Over ons', 'content' => '...', 'path' => 'over-ons', 'layout' => 'full_content', 'metadata' => [...]] // Menu structuur ophalen $menu = $api->getMenu(); // Resultaat: [['title' => 'Home', 'path' => 'index', 'type' => 'file', 'active' => true], ...] // Config waarde ophalen (dot notatie) $siteTitle = $api->getConfig('site_title'); $searchEnabled = $api->getConfig('features.search_enabled', false); ``` ## Beschikbare methods ### Pagina's - `getAllPages(): array` - Alle pagina's als `['pad' => 'titel']` pairs - `getPage(string $path): ?array` - Specifieke pagina met `title`, `content`, `path`, `layout`, `metadata` - `pageExists(string $path): bool` - Controleer of een pagina bestaat - `getCurrentPageTitle(): string` - Titel van huidige pagina - `getCurrentPagePath(): string` - Pad van huidige pagina - `isHomepage(): bool` - Of huidige pagina de homepage is ### Menu & Navigatie - `getMenu(): array` - Hiƫrarchische menu structuur met `title`, `path`, `children`, `active` - `buildUrl(string $page = 'index', ?string $lang = null, array $params = []): string` - Bouw een URL voor een pagina ### Configuratie - `getConfig(string $key, mixed $default = null): mixed` - Config waarde via dot notatie (bijv. `'features.search_enabled'`) - `getSiteTitle(): string` - Site titel uit config ### Taal - `getCurrentLanguage(): string` - Huidige taal code (bijv. `'nl'`) - `getAvailableLanguages(): array` - Beschikbare talen (bijv. `['nl', 'en']`) - `t(string $key): string` - Vertaal een language key ### Zoeken - `getSearchResults(): array` - Zoekresultaten (leeg als niet aan het zoeken) - `isSearching(): bool` - Of er momenteel gezocht wordt ## Voorbeeld: Recentste pagina's tonen ```php getAllPages(); $currentLang = $api->getCurrentLanguage(); ?>