Implementing Local Search Forwarding

Following from my entry about local search forwarding, I figured I could go a little more in to detail about how it is implemented.

Insert something similar to this, based on your Search Forwarder template location into the <head> of each page. You may have a html_head template you would like to use for this.

<mt:SetVarBlock name="LocalTagSearchLink"><$mt:Link template="Search Forwarder"$>?IncludeBlogs=<$mt:BlogID$>&blog_id=<$mt:BlogID$>&limit=10&tag=</mt:SetVarBlock>

In your <MTEntries>, you can generate tags like so:

<mt:EntryIfTagged>
   <mt:EntryTags>
       <a href="<$mt:GetVar name="LocalTagSearchLink"$><$mt:TagName normalize="1"$>">
           <$mt:TagName$>
       </a>
    </mt:EntryTags>
</mt:EntryIfTagged>

This creates tag links using the local search forwarder.

This general principle can be used anywhere mt-search.cgi is used.