Page MenuHomePhabricator

Parsing the pagename parameter does not support pipe characters
Closed, ResolvedPublic

Description

Author: xologrim

Description:
Fix for SF_FormEdit.php special page to allow use of {{!}}

The feature to parse the pagename parameter of the info-tag to allow for more dynmic page titles was intoduced in SF 1.9.
However, this does not support more complex usage including parser functions like #if and #ifeq which use pipe characters.

I noticed the following behaviour:

  • when extracting pagename=... it is cut off at the first occurrence of |

--> easy workaround is to use a template {{!}} instead of |

  • now, templates do not get resolved by recursiveTagParse

--> workaround is to replace {{!}} just before calling the parser, which might not be the most elegant way, but works. This is what this patch does.

Other options could include:

  • Change the extraction of the pagename value to respect additional {{, }} and | (probably more complex)
  • try using preprocess instead of recursiveTagParse (not yet tested)

Version: unspecified
Severity: normal

Attached:

Details

Reference
bz22822

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:05 PM
bzimport set Reference to bz22822.

This is now (finally) fixed in SVN, and the fix will go into the next SF version, 2.0.8 - you can now use normal pipes within #if statements and the like, and they'll be parsed correctly. Please try it out if you can, and feel free to re-open this bug if it's still a problem.