[pmwiki-users] $FmtPV
Thomas Lundgren
publik at lundgren.nu
Fri Feb 4 02:12:31 CST 2011
At 2011-02-04 05:17, Peter Bowers wrote:
>On Fri, Feb 4, 2011 at 1:04 AM, Thomas Lundgren <publik at lundgren.nu> wrote:
> > On a page I call a cookbook-script-function with a markup like;
> >
> > (:my_function:)
> >
> > In the cookbook i have a function that checks the value in a form-field
> > every time it is called and sets the result in a PageVariable.
> >
> > I want to use that variable on any page as any other PageVariable like;
> >
> > {$MyVariable}
> >
> > BUT. I can´t get this to work...
> >
> > I can use $FmtPV in config.php and in the cookbook-script and set the
> > variabel $MyVariable. But I can´t change the variable content in the
> > function that is called in the cookbook-script.
>
>A couple easy things to check right off...
>
>(1) Make sure you have $FmtPV declared as a global in your function
>(2) Make sure your markup rule is ordered such that the changes you
>are making occur before they are used (i.e., '<{$var}' or before, use
>?action=ruleset with diag turned on to confirm the order)
Many thanks for you quick answer - but...
(1) I´m declaring $FmtPV as a global in my cookbook-script (se below).
(2) I think I don´t understand what you are
saying. :) I don´t user Markup() to set the
variable in any way - only to create the function
that sets the variable.... So where and how should I use the '<{$var}' ?
In short my setup looks like this;
my_cookbook.php
========
Markup('my_function',
'_begin', '/\\(:my_function(.*?):\\)/e', 'main_function("$1")');
global $FmtPV;
function main_function( $opts )
{
{ code that set $ToMyVariable to what it should be... }
$FmtPV['$MyVariable'] = '$ToMyVariable'';
return;
}
========
In config.php
========
include_once("$FarmD/cookbook/my_cookbook.php");
========
On the PmWiki-page
========
(:my_function:)
{$MyVariable}
========
Regards,
Thomas.
More information about the pmwiki-users
mailing list