diff options
Diffstat (limited to 'src/server/ui.go')
| -rw-r--r-- | src/server/ui.go | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/server/ui.go b/src/server/ui.go index a765d97..7d59168 100644 --- a/src/server/ui.go +++ b/src/server/ui.go @@ -24,7 +24,7 @@ func (ui *Ui) CompilePages(uipath string) { if err != nil { log.Fatal(err) } - ui.pages["core/messages"] = baseTmpl + ui.pages["core"] = baseTmpl pagesDir := filepath.Join(uipath, "pages") tmplGlob := filepath.Join(pagesDir, "**/*.tmpl.html") @@ -49,11 +49,18 @@ func (ui *Ui) CompilePages(uipath string) { func (ui *Ui) Render(w http.ResponseWriter, pageName string, data interface{}) { templateName := "base" - if pageName == "core/messages" { - templateName = "messages" + // if the pageName has more than 1 `/` then it specifies the name of a template to target + slashCount := strings.Count(pageName, "/") + if slashCount > 1 { + splitName := strings.Split(pageName, "/") + templateName = splitName[0] } - p := ui.pages[pageName] + ui.RenderTemplate(w, pageName, templateName, data) +} + +func (ui *Ui) RenderTemplate(w http.ResponseWriter, pageName, templateName string, data interface{}) { + p := ui.pages[pageName] err := p.ExecuteTemplate(w, templateName, data) if err != nil { log.Fatal(err) |
