Thank you Peter, John -- Much appreciated.  I have it working now.   Changing 
the markup expression to a page variable worked.

Crisses


> On Apr 2, 2015, at 7:25 AM, Peter Bowers <[email protected]> wrote:
> 
> Try turning on diagnostics and then loading with ?action=ruleset.
> 
> Confirm that the rule '{$Var}' occurs before the rule 'if'.
> 
> Confirm that the rule '{(' occurs before '{$Var}' -- oops! I just checked it 
> on my own system and '{$Var}' occurs before '{('. This will mean that the 
> variable-substitution will be attempted before you have created the variable 
> name using your markup expression. Of course the difficulty is that often 
> markup expressions use variables and so you wouldn't really want to swap the 
> order.  You may want to implement my '{earlymx(' rule that I have in 
> WikiSh.php.  The markup itself is about as ugly as I think could be invented, 
> but it will solve your problem. Other, more elegant, solutions will hopefully 
> be suggested by others.
> 
> -Peter
> 
> On Thu, Apr 2, 2015 at 11:51 AM, Criss Ittermann <[email protected] 
> <mailto:[email protected]>> wrote:
> Thank you, it spits out:
> 
> (:if exists Profile-Data.{Members/Hosts$:201504} :) [...] (:else:) [...] 
> (:if:)
> 
> So the PTV does not appear to have been processed yet -- the markup 
> expression has, though.  And this goes for ALL the PTVs throughout the entire 
> IF condition, including the ones I've redacted with [...]
> 
> However this violates documentation:
> 
> Use page text variables in conditional markup 
> <http://www.pmwiki.org/wiki/PmWiki/ConditionalMarkup>
> Page text variables will be assigned/evaluated before any conditional markup 
> is evaluated. This effectively means that you cannot declare a PTV within an 
> if...else condition; and also that a PTV will have a value even if it is set 
> within a (:if false:)....(:if:) condition.
> 
> on page
> http://www.pmwiki.org/wiki/PmWiki/PageTextVariables 
> <http://www.pmwiki.org/wiki/PmWiki/PageTextVariables>
> 
> I upgraded to the latest version and it still doesn't work.  I turned off 
> each recipe and commented out sections of code that even vaguely might affect 
> conditional processing or PTV evaluation one at a time (it's a live site), 
> and no change.  I did not comment out authentication, captcha or PmForm, 
> since these would break the site in a very bad way and are released by PM & 
> Petko.
> 
> Just for giggles, to take the complexity out of the if-conditional, I even 
> tried:
> 
> TempVar:Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}}
> 
> (:if exists {$:TempVar} :)
> 
> But of course, that failed too.  But the variable itself is set correctly.
> 
> This fails too, whether I use the full expression, or the new variable:
> 
> (:if equal "{$:TempVar}" "Profile-Data.HEdelman" :)  
> revealing the if conditional before it processes:
> (:if equal "Profile-Data.{Members/Hosts$:201504}" "Profile-Data.HEdelman" :)
> 
> 
> (:if false:)
> TempVar:Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}}
> (:if:)
> 
> Still sets the variable.
> 
>> On Apr 1, 2015, at 8:25 PM, John Rankin <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> It may be possible to intercept the if code and find out what condition 
>> pmwiki is evaluating, which should give information about what is happening. 
>> Try this in local/config.php:
>> 
>> $CondTextReplacement = "MyTempRepl(\$pagename, \$m[0], \$m[1])";
>> function MyTempRepl($pagename, $text, $code='') {
>>   echo $text;
>>   return CondText2($pagename, $text, $code);
>> }
>> 
>> If I am reading stdmarkup.php correctly, this should echo the contents of 
>> the if code at the time the conditional is evaluated, which will show 
>> whether the var has been evaluated as intended.
>> 
>> JR
>> 
>> On 2/04/15 12:07 AM, Criss Ittermann wrote:
>>> I'm trying to figure out why this is returning false ("To be announced."):
>>> 
>>> (:if exists Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}} :)
>>> ...
>>> (:else:)
>>> To be announced.
>>> (:ifend:)
>>> 
>>> 
>>> When the following returns a fully functioning link to the correct page, 
>>> which exists:
>>> 
>>> [[Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}}]]
>>> 
>>> 
>>> What am I doing wrong?
>>> 
>>> Crisses
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> pmwiki-users mailing list
>>> [email protected] <mailto:[email protected]>
>>> http://www.pmichaud.com/mailman/listinfo/pmwiki-users 
>>> <http://www.pmichaud.com/mailman/listinfo/pmwiki-users>
>> 
>> -- 
>> John Rankin
>> Affinity Limited
>> T +64 4 495 3737 <tel:%2B64%204%20495%203737>
>> M +64 21 726 546 
>> <tel:%2B64%2021%20726%20546>_______________________________________________
>> pmwiki-users mailing list
>> [email protected] <mailto:[email protected]>
>> http://www.pmichaud.com/mailman/listinfo/pmwiki-users 
>> <http://www.pmichaud.com/mailman/listinfo/pmwiki-users>
> 
> 
> _______________________________________________
> pmwiki-users mailing list
> [email protected] <mailto:[email protected]>
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users 
> <http://www.pmichaud.com/mailman/listinfo/pmwiki-users>
> 
> 

_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to