IsMenuCurrent now resolving correctly when baseUrl is not at the root path

This commit is contained in:
Danny Sung 2015-03-30 22:44:08 -07:00 committed by spf13
parent b4871787f0
commit 2b91b480d0

View file

@ -18,6 +18,7 @@ import (
"html/template" "html/template"
"sync" "sync"
"time" "time"
"strings"
) )
type Node struct { type Node struct {
@ -56,8 +57,20 @@ func (n *Node) HasMenuCurrent(menuID string, inme *MenuEntry) bool {
} }
func (n *Node) IsMenuCurrent(menuID string, inme *MenuEntry) bool { func (n *Node) IsMenuCurrent(menuID string, inme *MenuEntry) bool {
s := n.Site
me := MenuEntry{Name: n.Title, URL: n.URL} me := MenuEntry{Name: n.Title, URL: n.URL}
if strings.HasPrefix(me.URL, "/") {
// make it match the nodes
menuEntryURL := me.URL
menuEntryURL = helpers.URLizeAndPrep(menuEntryURL)
if !s.canonifyURLs {
menuEntryURL = helpers.AddContextRoot(string(s.BaseURL), menuEntryURL)
}
me.URL = menuEntryURL
}
if !me.IsSameResource(inme) { if !me.IsSameResource(inme) {
return false return false
} }