Tim Starling <tstarling <at> wikimedia.org> writes:
> {{subst:!}} no longer works as a separator between parser function
> parameters, it just works as a literal character. Welcome to MediaWiki
> 1.12.
Seems like it was intended to be the | in [[category:foo|bar]], except that
someone forgot a | from the code. Correctly it would be:
{{{{{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 -->
}}
(Note that I added extra linebreaks after #if: so that gmane doesn't complain
for lines being too long.)
> The workarounds that come to mind for the line break issue are fairly
> obscure and complex. If I were you I'd just put the categories on the
> same line and be done with it.
Just put the templates on separate lines and wrap the whole thing in another #if
to discard additional newlines at the end:
{{#if:1|
{{{{{subst|}}}#if:{{{par1|1}}}|[[Category:{{{par1}}}{{{{{subst|}}}#if:
{{{key1|1}}}|{{{{{subst|}}}!}}{{{key1}}}}}]]}}
{{{{{subst|}}}#if:{{{par2|}}}|[[Category:{{{par2}}}{{{{{subst|}}}#if:
{{{key2|}}}|{{{{{subst|}}}!}}{{{key2}}}}}]]}}
{{{{{subst|}}}#if:{{{par3|}}}|[[Category:{{{par3}}}{{{{{subst|}}}#if:
{{{key3|}}}|{{{{{subst|}}}!}}{{{key3}}}}}]]}}
}}
(This assumes that whenever par2 is missing, par3 is missing too.)
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l