Post date: Mar 17, 2011 12:39:23 AM
The latest {Object}Search.aspx pages allow for creating customized search pages from site to site. Search pages now simply render some XSLT on the client, and the XSLT is responsible for calling qbo.ObjectBase.SearchXhtml() (or a suitable override). So the layout and functionality of the search page basically reside in whatever XSLT the Search.aspx page renders.
The Search.aspx page will render an XSLT using the following pattern:
If a Template parameter is passed on the URL, use that, else
If an Application Setting matching the module is defined, use that, else
Use the built-in, default XSLT
For example:
Template parameter: /Mortgage/Default/ShortSaleSearch.aspx?Template=MyShortSale.Search.xslt
Application setting: qbo.Mortgage.ShortSale.Search = MyShortSale.xslt
Build-in: /Mortgage/Default/ShortSaleSearch.aspx will use the default ShortSale.Dashboard.xslt
Note that in each of the examples above, only an XSLT file name is specified (e.g. MyShortSale.Search.xslt instead of /Templates/Mortgage/Default/MyShortSale.Search.xslt). This is because the Search.aspx will prepend the 'default folder' (/Templates/Mortgage/Default/') to the Template, unless the template starts with a '/'. Thus, if you want to have all users use /Skins/{Client}/Templates/Mortgage/MyShortSale.Search.xslt, you would set the application setting to be '/Skins/{Client}/Templates/Mortgage/MyShortSale.Search.xslt'.