GetSimple Support Forum
changing get_navigation - Printable Version

+- GetSimple Support Forum (http://get-simple.info/forums)
+-- Forum: GetSimple (http://get-simple.info/forums/forumdisplay.php?fid=3)
+--- Forum: Themes (http://get-simple.info/forums/forumdisplay.php?fid=10)
+--- Thread: changing get_navigation (/showthread.php?tid=4828)



changing get_navigation - scrawler - 2013-06-08

Hi guys,

I'm a newbie just trying out getsimple for the first time. So far so good.

I want to use
Code:
<?php get_navigation(return_page_slug()); ?>

But I'd rather have it return plain links than list items and links. How can I change this?

thanks!


RE: changing get_navigation - shawn_a - 2013-06-08

Well you would have to make your own function to do that.
You could always simply style the list to look the same as links.


RE: changing get_navigation - Carlos - 2013-06-08

Anyway...

1. Create a text file named mynavigation.php and paste this (a slightly modified version of GS's get_navigation) into it:

PHP Code:
<?php

// register plugin
$thisfile basename(__FILE__".php");
register_plugin(
    
$thisfile,
    
'My Navigation','0.1','...','#','...'
);

function 
get_my_navigation($currentpage) {
    
$menu '';
    global 
$pagesArray;
    
$pagesSorted subval_sort($pagesArray,'menuOrder');
    if (
count($pagesSorted) != 0) { 
        foreach (
$pagesSorted as $page) {
            
$sel ''$classes '';
            
$url_nav $page['url'];
            if (
$page['menuStatus'] == 'Y') { 
                if (
"$currentpage== "$url_nav") { $classes "current active "$page['parent'] ." "$url_nav; } else { $classes trim($page['parent'] ." "$url_nav); }
                if (
$page['menu'] == '') { $page['menu'] = $page['title']; }
                if (
$page['title'] == '') { $page['title'] = $page['menu']; }
                
$menu .= '<div class="'$classes .'"><a href="'find_url($page['url'],$page['parent']) . '" title="'encode_quotes(cl($page['title'])) .'">'.strip_decode($page['menu']).'</a></div>'."\n";
            }
        }
        
    }
    echo 
exec_filter('menuitems',$menu);
}
// end of file 

2. Upload the file to your plugins folder. Activate it.

3. Edit your template and replace:

Code:
<ul>
<?php get_navigation(return_page_slug()); ?>
</code>
[/php]

by:

[code]
<?php get_my_navigation(return_page_slug()); ?>

I'm not sure if I understood well. It reders div tags instead of li's. If it's not what you want, it's easy to customize.


RE: changing get_navigation - scrawler - 2013-06-08

Thank you, that did the trick.

I tried to find GS's get_navigation so tha I could modify it or at least look at it, but I couldn't find it.

For future reference, where is it?


RE: changing get_navigation - shawn_a - 2013-06-08

admin/inc/theme_functions.php


RE: changing get_navigation - Angryboy - 2013-06-08

You could also use mvlcek's i18n plugin and custom render the navigation with a component (which saves you needing to create your own plugin whilst giving you all of the benefits of i18n).