X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/f39a3c15595442c76b2bfb5dac0d8e8d99923f64..922e149de93844561160c2978d71531f3c08345e:/doc/todo/Give_access_to_more_TMPL__95__VAR_variables_in_templates_inserted_by_the_template_plugin.mdwn diff --git a/doc/todo/Give_access_to_more_TMPL__95__VAR_variables_in_templates_inserted_by_the_template_plugin.mdwn b/doc/todo/Give_access_to_more_TMPL__95__VAR_variables_in_templates_inserted_by_the_template_plugin.mdwn index 6f430975e..c71250b3a 100644 --- a/doc/todo/Give_access_to_more_TMPL__95__VAR_variables_in_templates_inserted_by_the_template_plugin.mdwn +++ b/doc/todo/Give_access_to_more_TMPL__95__VAR_variables_in_templates_inserted_by_the_template_plugin.mdwn @@ -1,4 +1,4 @@ -[[tag wishlist]] +[[!tag wishlist patch]] # Context @@ -54,7 +54,7 @@ of the pages tagged d1. My current plan is : -- thanks to the pagetemplate plugin, `/view/dev/*` and `/view/howto/*` would be assigned two custom templates, containing respectively `\[[template id=dev_direction]]` and `\[[template id=howto_usage]]` +- thanks to the edittemplate plugin, `/view/dev/*` and `/view/howto/*` would contain respectively `\[[!template id=dev_direction]]` and `\[[!template id=howto_usage]]` - `/templates/dev_direction.mdwn` and `/templates/howto_usage.mdwn` would use `\[[!map ...]]` directives to build their views # My issue @@ -68,7 +68,7 @@ Where `BASENAME` value would be, e.g., `u1` or `d2`, depending on the page inserting the template. But `BASENAME` does not exist. I found that `` is replaced with the full path to the page, but I did not found how to get the page's basename in a template included -with a `\[[template id=...]]` directive. +with a `\[[!template id=...]]` directive. Any idea ? @@ -84,13 +84,28 @@ preprocessor directives already *almost* do what I need, I'd like to avoid the ad-hoc plugin solution. (Adding a parameter such as `name=d1` in every `/view/dev/d*.mdwn` and -`/view/howto/u*.mdwn` page is not an option : there may be quite -a few, that's why I intend to use the pagetemplate plugin in the first -place to assign them a common template.) - -More or less OT: I've not checked the compatibility of pagetemplate -and template plugins yet; can a template (`*.tmpl`), assigned by -pagetemplate, itself call a template (`*.mdwn`) managed by the -template plugin ? The hooks call order tends to make me think it is -not possible, which anyway would ruin my current plan. - +`/view/howto/u*.mdwn` page is not an option : I want to factorize the +most possible of these pages. + +> The following patch adds a `basename` `TMPL_VAR` variable that can be +> used in the templates inserted by \[[!template plugin]] : + +> diff --git a/IkiWiki/Plugin/template.pm b/IkiWiki/Plugin/template.pm +> index a6e34fc..bb9dd8d 100644 +> --- a/IkiWiki/Plugin/template.pm +> +++ b/IkiWiki/Plugin/template.pm +> @@ -57,6 +57,8 @@ sub preprocess (@) { +> } +> } +> +> + $template->param("basename" => (split("/", $params{page}))[-1]); +> + +> return IkiWiki::preprocess($params{page}, $params{destpage}, +> IkiWiki::filter($params{page}, $params{destpage}, +> $template->output)); +> +> -- intrigeri + +> Thanks for taking the trouble to develop a patch. [[done]] --[[Joey]] + +>> Thanks :) -- intrigeri