ContentAPI voor PHP content bestanden + handleiding in admin

- Nieuwe ContentAPI class beschikbaar als $api in PHP content bestanden
  met methodes: getAllPages, getPage, getMenu, getConfig, buildUrl, etc.
- Admin handleiding pagina op /admin/guide met taalwisselaar
- Zijbalk link naar handleiding in admin menu
- Dubbele alert in config pagina verwijderd
- Handleidingen (nl/en) uitgebreid met Content API referentie
This commit is contained in:
2026-07-28 13:59:32 +02:00
parent e85f6e91e1
commit 90253673ba
9 changed files with 452 additions and 25 deletions
+12 -4
View File
@@ -783,7 +783,8 @@ class CodePressCMS {
$title = $metadata['title'] ?? '';
ob_start();
// Make metadata available to the included file
// Make API and metadata available to the included file
$api = new ContentAPI($this);
$pageMetadata = $metadata;
include $filePath;
$content = ob_get_clean();
@@ -1011,7 +1012,6 @@ class CodePressCMS {
$this->pluginManager->doAction('onBeforeRender');
$menu = $this->getMenu();
$breadcrumb = $this->generateBreadcrumb();
// Get homepage title
$homepageTitle = $this->getHomepageTitle();
@@ -1026,6 +1026,10 @@ class CodePressCMS {
// Get layout from page metadata
$layout = $page['layout'] ?? 'sidebar-content';
// Determine if sidebar toggle should be shown
$hasSidebar = $layout !== 'content' && !empty(trim($sidebarContent));
$breadcrumb = $this->generateBreadcrumb($hasSidebar);
// Prepare template data
$templateData = [
'site_title' => $this->config['site_title'],
@@ -1154,11 +1158,15 @@ class CodePressCMS {
/**
* Generate breadcrumb navigation HTML
*
* @param bool $hasSidebar Whether sidebar content exists and should show toggle
* @return string Breadcrumb HTML
*/
public function generateBreadcrumb() {
public function generateBreadcrumb($hasSidebar = true) {
// Sidebar toggle button (shown before home icon in breadcrumb)
$sidebarToggle = '<li class="breadcrumb-item sidebar-toggle-item"><button type="button" class="sidebar-toggle-btn" onclick="toggleSidebar()" title="Toggle Sidebar" aria-label="Toggle Sidebar" aria-expanded="true"><i class="bi bi-layout-sidebar-inset"></i></button></li>';
$sidebarToggle = '';
if ($hasSidebar) {
$sidebarToggle = '<li class="breadcrumb-item sidebar-toggle-item"><button type="button" class="sidebar-toggle-btn" onclick="toggleSidebar()" title="Toggle Sidebar" aria-label="Toggle Sidebar" aria-expanded="true"><i class="bi bi-layout-sidebar-inset"></i></button></li>';
}
if (isset($_GET['search'])) {
return '<nav aria-label="breadcrumb"><ol class="breadcrumb">' . $sidebarToggle . '<li class="breadcrumb-item"><a href="/' . $this->currentLanguage . '"><i class="bi bi-house"></i></a></li><li class="breadcrumb-item"> > </li><li class="breadcrumb-item active">' . $this->t('search') . '</li></ol></nav>';