Peter, thx so much for your reply. I was suspecting that much. That’s why I
tried to write some markup to actually register a real PV (with <{$var}
priority), but I couldn’t get that to work beyond the scope of a single page.
As far as I can tell, the problem breaks down this single question:
Why can a php script referenced in the skin’s .tmpl file access PTVs and PVs
set by (:var: :) and (:var :) but not when those are within a pagelist? Is
there a way to tell the script to run ‘>pagelist’ (after all pagelists have
been processed)?
I will also look into triggering the script as a php markup script
(<!--markup:(:somescript:)--> instead of <!--file:somescript.php-->). hopefully
this workaround will solve the order issues by having PmWiki figure them out.
Josh
On May/11, 2012, at 2356 , Peter Bowers wrote:
>> On Fri, May 11, 2012 at 10:29 AM, <[email protected]> wrote:
>> Here is my problem. #1 and #2 are for further background only. I am
>> basically trying to use PVs and PTVs of the newest page in a certain group
>> when visiting another page in another group within a script referenced by
>> the active skin’s .tmpl file by using a pagelist.
>>
>> 1) I have a simple custom skin which loads a script into a div with
>> <!--file:$SkinDir/somescript.php-->
>>
>> 2) the somescript.php basically does this:
>>
>> <?php if (!defined('PmWiki')) exit();
>> global $pagename;
>> $imageLink = PageVar($pagename,'$:image');
>> echo MarkupToHTML($pagename, "Attach:$imageLink");
>>
>> 3) (:image: …:) is set on SomeGroup.SomePage
>>
>> 4) I have a pagelist in SomeOtherGroup.SomeOtherPage which basically does
>> this:
>>
>> (:pagelist fmt=somePagelistFmt group=SomeGroup count=1 order=-ctime
>> name=-*Recent*,-GroupAttributes:)
>>
>> 5) #somePageListFmt is defined in LocalTemplates as
>>
>> [[#somePageListFmt]]
>> (:template each:)
>> (:title {=$Title}:)
>> (:image: {=$:image}:)
>> ! {=$Title}
>> Attach:{=$:image}
>> [[#somePageListFmtend]]
>>
>> 6) what happens on SomeOtherGroup.SomeOtherPage is, that {$Title} is set by
>> the pagelist while {$:image} is not. both are displayed correctly in the
>> further output of the pagelist template. this is driving me mad (already
>> tried to circumvent this with a real PV, which failed due to my lack of
>> understanding of PmWiki’s $FmtPV[] / setProperty()). any ideas on what I am
>> doing wrong?
>
> Ooh, that made my head hurt just trying to figure out where everything was
> going. You've got so many things going on there which will require *very*
> complex rule ordering and may be impossible. I would strongly recommend
> simply writing a custom markup that does what you need in PHP rather than
> trying to get a pagelist to run based on certain variables which in turn sets
> other variables and creates attachment and image markup... It may well be
> possible, but you're going to have to look at the order of the rules very
> closely -- I'm taking a guess that this is what is causing your solution to
> not work. Assuming you can get it working I think it will be carefully
> "balanced" and every time you make a little change to your configuration (esp
> anything which affects the rules) you will "knock it off balance" again..
>
> -Peter
>
_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users