On Monday 18 January 2010 18:45:02, Randy Brown wrote : > I am working on a recipe that provides the user with a directive that > selects a page text variable found on a specified page. Unfortunately, I'm > finding that if the PTV contains a link whose target is {$FullName}, the > link appends "FullName" to the target. For example > > on Main.MyPage: > > MyPTV: [[{$FullName}?action=...etc. > > The directive mistakenly gives me a link to a page named > "Main.MyPageFullName" as if I had written > > [[{$FullName}FullName?action=...etc.
Isn't it more something like {Main.MyPage$FullName}?action= ...? > Why does this transformation happen? Because normally {$FullName} and [[Page]] refer to the physical page where they are written. When you get some text/section/trail/PTV from a page different from the current one, all links and page(text)variables are rewritten so they wouldn't break: * {$Variable} becomes {Group.Page$Variable} * [[Page]] becomes [[OriginalGroup/Page]] This way, all cross-group links should continue to link to the pages they were intended to. > How can I prevent it? $QualifyPatterns is an array containing the re-writing rules. If you globally unset() it before calling PageVar(), and restore it after, it should work (untested, I'm not sure if it is the best way to do this). Petko _______________________________________________ pmwiki-devel mailing list pmwiki-devel@pmichaud.com http://www.pmichaud.com/mailman/listinfo/pmwiki-devel