Fix language persistence across navigation and breadcrumbs
- Add lang parameter to all navigation links in scanDirectory method - Update homepage link in navigation template to include current language - Fix breadcrumb navigation to preserve language parameter - Ensure language selection persists when clicking any navigation element
This commit is contained in:
parent
ceeeb5e7b3
commit
2d934702cd
@ -128,7 +128,7 @@ class CodePressCMS {
|
||||
'type' => 'file',
|
||||
'title' => $title,
|
||||
'path' => $pathWithoutExt,
|
||||
'url' => '?page=' . $pathWithoutExt
|
||||
'url' => '?page=' . $pathWithoutExt . '&lang=' . $this->currentLanguage
|
||||
];
|
||||
}
|
||||
}
|
||||
@ -891,7 +891,7 @@ class CodePressCMS {
|
||||
*/
|
||||
private function generateBreadcrumb() {
|
||||
if (isset($_GET['search'])) {
|
||||
return '<nav aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="?page=' . $this->config['default_page'] . '">></a></li><li class="breadcrumb-item"> > </li><li class="breadcrumb-item active">' . $this->t('search') . '</li></ol></nav>';
|
||||
return '<nav aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="?page=' . $this->config['default_page'] . '&lang=' . $this->currentLanguage . '"></a></li><li class="breadcrumb-item"> > </li><li class="breadcrumb-item active">' . $this->t('search') . '</li></ol></nav>';
|
||||
}
|
||||
|
||||
$page = $_GET['page'] ?? $this->config['default_page'];
|
||||
@ -904,7 +904,7 @@ class CodePressCMS {
|
||||
$breadcrumb = '<nav aria-label="breadcrumb"><ol class="breadcrumb">';
|
||||
|
||||
// Start with home icon linking to default page (root)
|
||||
$breadcrumb .= '<li class="breadcrumb-item"><a href="?page=' . $this->config['default_page'] . '"><i class="bi bi-house"></i></a></li>';
|
||||
$breadcrumb .= '<li class="breadcrumb-item"><a href="?page=' . $this->config['default_page'] . '&lang=' . $this->currentLanguage . '"><i class="bi bi-house"></i></a></li>';
|
||||
|
||||
// Split page path and build breadcrumb items
|
||||
$parts = explode('/', $page);
|
||||
@ -919,7 +919,7 @@ class CodePressCMS {
|
||||
$breadcrumb .= '<li class="breadcrumb-item"> > </li><li class="breadcrumb-item active">' . $title . '</li>';
|
||||
} else {
|
||||
// Parent directory - clickable link with separator
|
||||
$breadcrumb .= '<li class="breadcrumb-item"> > </li><li class="breadcrumb-item"><a href="?page=' . $currentPath . '">' . $title . '</a></li>';
|
||||
$breadcrumb .= '<li class="breadcrumb-item"> > </li><li class="breadcrumb-item"><a href="?page=' . $currentPath . '&lang=' . $this->currentLanguage . '">' . $title . '</a></li>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<div class="col">
|
||||
<ul class="nav nav-tabs flex-wrap">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {{home_active_class}}" href="?page={{homepage}}">
|
||||
<a class="nav-link {{home_active_class}}" href="?page={{homepage}}&lang={{current_lang}}">
|
||||
<i class="bi bi-house"></i> {{homepage_title}}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user