[pmwiki-users] How to search using a markup function.

Patrick R. Michaud pmichaud at pobox.com
Wed Apr 13 17:13:23 CDT 2005

On Wed, Apr 13, 2005 at 05:03:46PM -0500, John Feezell wrote:
> Looking for suggestions and guidance on the following:
> Here's what I'd like to be able to achieve.
> 1.  A user sets a search string via a custom markup - now working.
> 2. The function that handles the markup grabs the search string (now 
> working) and passes it to PmWiki to process the "search".
> 3. PmWiki return the list of the "found" pages via a variable to the 
> markup function.
> 4. The markup function continues processing the markup using the 
> variable returned by PmWiki.
> I've looked at the (:searchbox::) markup, etc but it was unclear to me 
> know the "search" was processed.  I believe that the variable I'd like 
> to access is the resulting $MatchList variable. 

Actually, you probably want to look at (:searchresults:) or (:pagelist:)
instead, as they're the ones that perform the actual search.  (:searchbox:)
just generates the form for someone to fill in.

> The central idea is to process and working with a "search" that is 
> started and mananged by the markup function rather than the user.  The 
> user simply specifies the "search string" via the markup.

At the moment this is handled slightly differently -- the FmtPageList()
function grabs the list of pages according to various search criteria,
then passes that list to an output formatting function specified
by the markup (which can be a custom markup).  

I did think about doing it the way you describe, where a markup-specific 
function calls something to get the set of matching pages and then 
formats the output, but at the time I decided it was too inefficient 
(and searches are already too slow anyway) and less flexible than the 
one I chose.

However, FmtPageList and friends are next on my "hit list" for improvements,
so there may be a better answer for you here before I'm through.
Still, I'd suggest making use of FmtPageList (feel free to ask questions
about it).


More information about the pmwiki-users mailing list