[pmwiki-users] One more was Re: I want to use FmtPV from mackup to set Page Variable, but can't get it to work reliably
Christopher Cox
ccox at endlessnow.com
Fri Jul 14 13:45:52 CDT 2017
Let's say I now want to use a InterMap on such a page with my page
variable populated via markup...
such that I want to have
myintermap: http://example.com/$1?a={$mymarkupvar}
The variable doesn't populate in that one. Is it possible?
On 07/14/2017 01:15 PM, Christopher Cox wrote:
> Bingo! Thanks Petko! '<{$var}'
>
>
> On 07/14/2017 12:59 PM, Petko Yotov wrote:
>> When the markup rules are processed one after another, PageVariables
>> like {$mymarkupvar} are replaced with their contents very early. Most
>> other markup rules are processed later, see
>> pmwiki.php?action=ruleset. So your page variable is not yet set when
>> it is encountered in the page, and it is replaced with nothing, empty
>> string.
>>
>> MarkupMarkup, ie (:markup:) rules are processed before most other
>> rules, and before PageVariables. The content of a (:markup:) block is
>> passed through all markup rules one after another, like for the page,
>> but before the page. At that point, if you encounter your markup
>> rule, it will set the page variable (but not display it in the same
>> block). However, later, when the rest of the page is processed, the
>> page variable value is already set so when your markup is
>> encountered, the variable is replaced with the value.
>>
>> If you must process your markup rule before {$PageVariables}, change
>> the "when" argument (second) on the Markup() call.
>>
>> Petko
>>
>> ---
>> Change log : http://www.pmwiki.org/wiki/PmWiki/ChangeLog
>> Release notes : http://www.pmwiki.org/wiki/PmWiki/ReleaseNotes
>> If you upgrade : http://www.pmwiki.org/wiki/PmWiki/Upgrades
>>
>>
>> On 2017-07-14 19:45, Christopher Cox wrote:
>>> Ok.. this is weird. If my (:mymarkup:) is embedded in
>>> (:markup:)(:markupend:) it works and my page variable is set. What am
>>> I missing?
>>>
>>>
>>> On 07/14/2017 11:45 AM, Christopher Cox wrote:
>>>> What I want is to have something like:
>>>>
>>>>
>>>> (:mymarkup:)
>>>>
>>>> {$mymarkupvar}
>>>>
>>>>
>>>> on a page. Where mymarkup does inside it's function:
>>>>
>>>>
>>>> global $FmtPV;
>>>>
>>>>
>>>> $GLOBALS['myvar'] = 'hello';
>>>>
>>>> $FmtPV['$mymarkupvar'] = '$GLOBALS["myvar"]';
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> pmwiki-users mailing list
>>>> pmwiki-users at pmichaud.com
>>>> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
>>>>
>>>
>>>
>>> _______________________________________________
>>> pmwiki-users mailing list
>>> pmwiki-users at pmichaud.com
>>> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
>>
>> _______________________________________________
>> pmwiki-users mailing list
>> pmwiki-users at pmichaud.com
>> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
>>
>
>
> _______________________________________________
> pmwiki-users mailing list
> pmwiki-users at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
>
More information about the pmwiki-users
mailing list