]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/Allow_per-page_template_selection.mdwn
Fix broken baseurl in cgi mode when usedirs is disabled. Bug introduced in 3.20101231.
[git.ikiwiki.info.git] / doc / todo / Allow_per-page_template_selection.mdwn
index ba12e296d14b7c05244e25713c0af0d5d5959e53..231ccf502338ceb60997f8f6e960d50c5cb1cbca 100644 (file)
@@ -6,3 +6,38 @@ so I'd like it to use a separate front.tmp template instead.
 I'm not sure what syntax to use for this, (\[[template]] seems to be
 taken for another purpose already). Perhaps something like
 \[[page-template front]] ?).
 I'm not sure what syntax to use for this, (\[[template]] seems to be
 taken for another purpose already). Perhaps something like
 \[[page-template front]] ?).
+
+Joey provided a nice suggestion for implementing this feature, ("I
+would probably add a hook that allowed overriding the default template
+constuction and returning a template object"). I did start looking
+into that, but finally I wimped out and just put the following hack
+into the `genpage()` function in Render.pm:
+
+
+       if ($page eq 'index') {
+               $template->param(suppresstitle => 1);
+       }
+
+That lets me use a `<TMPL_UNLESS SUPPRESSTITLE>` in my template to get
+the effect I want. I don't think that's anything that upstream should
+pick-up as is, (maybe with an appropriate configuration option, but
+then again allowing for per-page template selection would be more
+powerful anyway). But I'm happy enough now that I probably won't
+pursue implementing this feature further myself.
+
+But I'd still happily switch to using this feature if someone were to
+implement it.
+
+UPDATE: My latest hack is as follows:
+
+       if ($page eq 'index') {
+               $template->param(toplevelindex => 1);
+       }
+
+And that's something that I'm not actually embarrassed to suggest
+could be accepted upstream. Joey, what do you think? And would a
+proper patch be helpful (it really just adds those lines to the right
+place).
+
+> Fully implemented as a templatefile hook and a [[plugins/pagetemplate]]
+> plugin. --[[Joey]] [[done]]