2016-04-19, 07:48:45
(This post was last modified: 2016-04-19, 07:49:43 by Eleftherios.)
Problem: With alot of pages one can lose track.
Solution: Only show one level of pages and add the possibillity to navigate throug the levels.
in /admin/teplate_functions.php add:
in pages.php replace:
On line 86:
with
And before line 108 (before the <table />) add:
Solution: Only show one level of pages and add the possibillity to navigate throug the levels.
in /admin/teplate_functions.php add:
PHP Code:
/**
* Recursive list of pages
*
* Returns only one level of menu, adds option to expand it.
*
* @author Lukas Prömer
*
*
* @param string $parent
*
* @returns string
*/
function get_pages_menu2($parent) {
global $pagesSorted;
$items=array();
foreach ($pagesSorted as $page) {
if ($page['parent']==$parent){
$items[(string)$page['url']]=$page;
$items[(string)$page['url']]['expandable'] = 0;
foreach ($pagesSorted as $page2){
if($page2['parent'] == $page['url']){
$items[(string)$page['url']]['expandable'] = 1;
break;
}
}
}
}
if (count($items)>0){
foreach ($items as $page) {
$dash=$cdash="";
if ($page['parent'] != '') {
$page['parent'] = $page['parent']."/";
}
if ($page['expandable']){
$dash = '<span> ⋮ </span><a href="?p='. $page['url'] .'" >';
$cdash = '</a>';
} else {
$dash = '<span> </span>';
}
$menu .= '<tr id="tr-'.$page['url'] .'" >';
if ($page['title'] == '' ) { $page['title'] = '[No Title] » <em>'. $page['url'] .'</em>'; }
if ($page['menuStatus'] != '' ) { $page['menuStatus'] = ' <sup>['.i18n_r('MENUITEM_SUBTITLE').']</sup>'; } else { $page['menuStatus'] = ''; }
if ($page['private'] != '' ) { $page['private'] = ' <sup>['.i18n_r('PRIVATE_SUBTITLE').']</sup>'; } else { $page['private'] = ''; }
if ($page['url'] == 'index' ) { $homepage = ' <sup>['.i18n_r('HOMEPAGE_SUBTITLE').']</sup>'; } else { $homepage = ''; }
$menu .= '<td class="pagetitle">'. $dash . cl($page['title']) .$cdash.'<span class="showstatus toggle" >'. $homepage . $page['menuStatus'] . $page['private'] .'</span></td>';
$menu .= '<td style="width:80px;text-align:right;" ><span>'. shtDate($page['pubDate']) .'</span></td>';
$menu .= '<td class="secondarylink" >';
$menu .= '<a title="'.i18n_r('VIEWPAGE_TITLE').': '. var_out($page['title']) .'" target="_blank" href="'. find_url($page['url'],$page['parent']) .'">#</a>';
$menu .= '</td>';
$menu .= '<td class="secondarylink" ><a title="'.i18n_r('EDITPAGE_TITLE').': '. var_out($page['title']) .'" href="edit.php?id='. $page['url'] .'" > ✎</a></td>';
if ($page['url'] != 'index' ) {
$menu .= '<td class="delete" ><a class="delconfirm" href="deletefile.php?id='. $page['url'] .'&nonce='.get_nonce("delete", "deletefile.php").'" title="'.i18n_r('DELETEPAGE_TITLE').': '. var_out($page['title']) .'" >×</a></td>';
} else {
$menu .= '<td class="delete" ></td>';
}
$menu .= '</tr>';
}
}
return $menu;
}
/**
* Recursive list of pages
*
* Returns Breadcrumps for Pages-Menu
*
* @author Lukas Prömer
*
*
* @param string $parent
*
* @returns string
*/
function get_pages_breadcrumps($parent) {
global $pagesSorted;
if($parent=="") return '<a href="?p">root</a>';
foreach ($pagesSorted as $page) {
if ((string)$page['url']==$parent){
$apage = $page;
break;
}
}
$crumps = ' >> <a href="?p='.$apage['url'].'">'.var_out($apage['title']).'</a>';
return get_pages_breadcrumps($apage['parent']) . $crumps;
}
in pages.php replace:
On line 86:
PHP Code:
$table = get_pages_menu($_GET['p']);
PHP Code:
$tableCrumps = get_pages_breadcrumps($_GET['p']);
$table = get_pages_menu2($_GET['p']);
And before line 108 (before the <table />) add:
PHP Code:
<?php echo $tableCrumps; ?>