Last modified: 2011-03-13 18:06:16 UTC
Normally there are 2 ways to make a table which is affected by ParserFunctions like #if: Using HTML Tables: <table> <tr> <td>Something</td>{{#if:{{{1|}}}|<nowiki>/ <td>Something else</td>| }} </tr> </table> Or using the template {{!}} which would contain the | character: {| |- | Something{{#if:{{{1|}}}|<nowiki>/ {{!}} Something else| }} |} But DynamicPageList2 introduced the idea of getting around the ParserFunctions' absolute control over the | by using ¦ instead. We should be able to use this syntax to allow WikiTables to work with ParserFunctions. Technically this is the most readable and most efficient method of adding ParserFunctions to tables: {| |- | Something{{#if:{{{1|}}}|<nowiki>/ ¦ Something else| }} |}
Created attachment 3567 [details] Patch for includes/Parser.php This patch was made for the current 1.10a HEAD trunk, MediaWiki was updated before the patch was applied to the file. The patch was made through only adding extra conditions and a few restricted replacements so there should be no room for glitches such as ¦'s in the page content being rendered as |'s. Also, only one explode was replaced with a preg_split so there shouldn't be any sort of higher server load.
This adds another horrible hack to workaround shortcomings of the parser, and furthermore complicates table markup which a lot of users object to.