From: Thomas S. <sch...@on...> - 2009-02-19 16:01:14
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Hi Patrick,<br> thanks for your answer.<br> <br> Well, I'm about doing complicated stuff with templates, but maybe I can clarify my two points with two simpler use cases:<br> <ol> <li>Derive values of properties: Imagine an article "super" that derives its property "prop1" in some way (i.e. a query) from the property "prop1" of the articles "sub 1" to "sub n". So, in "super" I could write [[prop1::{{#ask:...[[prop1::+]]|limit=1}}]]. Unfortunatly, the result of the query needs to be further evaluated by a template, so I have to assign the result of the query within the template ([[prop1::{{{1}}}]]). And in general, within the template, I don't know the name of the property, i.e. prop1. Why? Because there is not only "prop1" but also "prop2"..."prop6" that are set by the same query. So I put the whole query into another template that is parameterized with the name of the property e.g. something like {{evaluate|prop1}}...{{evaluate|prop6}}.</li> <li>The use case for my second point is simpler: {{#ask: ...|format=template|template=colorizeResults}}. The template "colorizeResult" should highlight some of the results in a given color. But unfortunately, I can not pass the color. It would like something like |format=template|template=colorizeResults|templParams=red,blue. I think, I can't achieve this with inlcusions ot other templates.</li> </ol> Cheers<br> Thomas<br> <br> Patrick Nagel schrieb: <blockquote cite="mid:499...@pa..." type="cite"> <pre wrap="">-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Thomas, On 2009-02-19 22:16, Thomas Schweitzer wrote: </pre> <blockquote type="cite"> <pre wrap="">I've got two questions concerning #ask: queries with format=template. 1. As template parameters {{{1}}},... I get the results of the query. But how can I access the names of the properties (i.e. the "column headers") within the template? This is very useful if the same template is used for several differents queries. 2. How can I pass additional parameters to the template? I wrote a template that behaves differently depending on a context that is given as parameter of the template. However, with format=template and template=xxx this does not seem to be possible.The very unpleasing alternative would be writing a new template for each context. </pre> </blockquote> <pre wrap=""><!----> Sounds like you are putting a lot of complexity into one single template - why not make multiple simpler templates that transclude each other? Specify the specialised templates in the ask query and let these specialised templates include the common stuff from another template. I think the template result format should be kept stupid and simple as it is, otherwise it will be just too confusing. Just my 2分... Patrick. </pre> </blockquote> <br> </body> </html> |