I've not done much template work since parser functions were new. Grabbing
some old code examples, found it didn't work anymore. Workaround?
===
Ancient code (expected single space):
{{{{{subst|}}}#if:{{{par1|}}}|[[Category:{{{par1}}}{{{{{subst|}}}#if:{{{key1|}}}{{{{{subst|}}}!}}{{{key1}}}}}]]
<!-- bpar1 -->
}}{{{{{subst|}}}#if:{{{par2|}}}|[[Category:{{{par2}}}{{{{{subst|}}}#if:{{{key2|}}}{{{{{subst|}}}!}}{{{key2}}}}}]]
<!-- bpar2 -->
}}{{{{{subst|}}}#if:{{{par3|}}}|[[Category:{{{par3}}}{{{{{subst|}}}#if:{{{key3|}}}{{{{{subst|}}}!}}{{{key3}}}}}]]
<!-- bpar3 -->
}}
Also tried (expected double space, hoped for single space):
{{{{{subst|}}}#if:{{{par1|}}}|
[[Category:{{{par1}}}{{{{{subst|}}}#if:{{{key1|}}}{{{{{subst|}}}!}}{{{key1}}}}}]]
<!-- bpar1 -->
}}{{{{{subst|}}}#if:{{{par2|}}}|
[[Category:{{{par2}}}{{{{{subst|}}}#if:{{{key2|}}}{{{{{subst|}}}!}}{{{key2}}}}}]]
<!-- bpar2 -->
}}{{{{{subst|}}}#if:{{{par3|}}}|
[[Category:{{{par3}}}{{{{{subst|}}}#if:{{{key3|}}}{{{{{subst|}}}!}}{{{key3}}}}}]]
<!-- bpar3 -->
}}
===
Each category should be on a new line. If the par* doesn't exist, then the }}
that begins the next line would slurp up the newline, leaving no blank line.
Example {{subst:testing|par1=A|par2=B|key2=C|subst=subst:}}
As I remember, should yield something like:
[[Category:A]] <!-- bpar1 -->
[[Category:B|C]] <!-- bpar2 -->
Currently output:
[[Category:A]] <!-- bpar1 -->[[Category:B]] <!-- bpar2 -->
Did the evaluation order change, so the inner {{subst:!}} happens first
instead of second, and loses the C parameter (interpreting it as "else")?
And the leading and trailing linebreaks are slurped up and ignored?
Any known work around? (I tried searching meta and elsewhere, but no joy.)
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l