[pmwiki-users] How to feed MakePageList() with my own list of pages?

Kathryn Andersen kat_lists at katspace.homelinux.org
Sat Apr 5 20:04:18 CDT 2008

On Sat, Apr 05, 2008 at 08:58:36PM +0200, Mateusz Czaplinski wrote:
> I'm wrote a recipe in which I generate a list of some pages. Now, I'd
> like to be able to write something like:
>   (:pagelist myrecipe=true  ....some-other-options.... :)
> and I want (:pagelist:) to use the list I generated as it's starting
> point, not to filter results of ListPages() executed in the
> PageListSources() step of $PageListFilters - also because one of my
> main goals here is speed.

Well, another possible approach is to delve into custom pagelist
formatting functions.  Back before pagelist templates became so
powerful, the best way to do a complex pagelist format was to write a
formatting function in PHP
(see http://www.pmwiki.org/wiki/Cookbook/DictIndex for example)

Now, this may seem backwards, but the pagelist formatting function calls
"MakePageList", which is what makes the list of pages.  If you want
to bypass that completely, then you could make a pagelist formatting
function which doesn't call "MakePageList" at all, but calls your
own function instead.

The other nifty thing is that all the options from the (:pagelist ...:)
are passed into the formatting function, which means you can
put in your own options (which would be ignored by other things).

(:pagelist fmt=myfmt myoption=foo myotheroption=bar ....:)

Mind you, you'd have to actually do the pagelist formatting too,
with this approach.  And it would only work for pagelist.

Kathryn Andersen
 _--_|\     | Kathryn Andersen	<http://www.katspace.com>
/      \    | 
\_.--.*/    | GenFicCrit mailing list <http://www.katspace.com/gen_fic_crit/>
      v     | 
------------| Melbourne -> Victoria -> Australia -> Southern Hemisphere
Maranatha!  |	-> Earth -> Sol -> Milky Way Galaxy -> Universe

More information about the pmwiki-users mailing list