kathrine: possibility to add custom menu categories

This commit is contained in:
slawkens
2025-07-19 07:48:01 +02:00
parent 2fe9924437
commit ec11c14024
5 changed files with 57 additions and 36 deletions

View File

@@ -1,42 +1,40 @@
<?php
$menus = get_template_menus();
function get_template_pages($category) {
function get_template_pages($category): array
{
global $menus;
$ret = array();
foreach($menus[$category] as $menu) {
foreach($menus[$category] ?? [] as $menu) {
$ret[] = $menu['link'];
}
return $ret;
}
?>
var category = '<?php
if(strpos(URI, 'subtopic=') !== false) {
$tmp = array($_REQUEST['subtopic']);
let category = '<?php
if(str_contains(URI, 'subtopic=')) {
$tmp = [$_REQUEST['subtopic']];
}
else {
$tmp = URI;
if(empty($tmp)) {
$tmp = array('news');
$tmp = ['news'];
}
else {
$tmp = explode('/', URI);
}
}
if(in_array($tmp[0], get_template_pages(MENU_CATEGORY_NEWS)))
echo 'news';
elseif(in_array($tmp[0], get_template_pages(MENU_CATEGORY_LIBRARY)))
echo 'library';
elseif(in_array($tmp[0], get_template_pages(MENU_CATEGORY_COMMUNITY)))
echo 'community';
elseif(in_array($tmp[0], array_merge(get_template_pages(MENU_CATEGORY_ACCOUNT), array('account'))))
echo 'account';
elseif(in_array($tmp[0], get_template_pages(MENU_CATEGORY_SHOP)))
echo 'shops';
else {
echo 'news';
foreach (config('menu_categories') as $id => $info) {
$templatePages = get_template_pages($id);
if ($id == MENU_CATEGORY_ACCOUNT) {
$templatePages = array_merge($templatePages, ['account']);
}
if (in_array($tmp[0], $templatePages)) {
echo $info['id'];
break;
}
}
?>';