Portal | Homepage | Blog

Filtered search result pages and product parameters

#1

Hi,

We have been starting to use the filtered search result pages a little more as they’re quite powerful when used with creative SQL queries and mappings to create automated filters like ‘on sale’, ‘in stock’ etc.

One issue though is with product URL parameters. These appear to work on the filtered result page but unfortunately do not persist once another another filter has been added or once paginated etc.

Is there an easy way to have these, or even specific parameters, persist when the page is rendered?

cheers.
Andy

0 Likes

#2

Hi Andy,

Can you give us a couple of example URLs please?

0 Likes

#3

Hi Donogh,

A standard link for products which are “on sale” from our dog toy department is linked below.

https://www.mypetwarehouse.com.au/store/filtered/d_22/ct19_a0e6870db7db/

As mentioned it looks like it’s possible to filter this result set even further with additional product parameters like “?&product_stock_gte=3” to return all products which are in stock with 3 or more units etc.

https://www.mypetwarehouse.com.au/store/filtered/d_22/ct19_a0e6870db7db/?&product_stock_gte=3

As mentioned this doesn’t persist. I have tried passing in the product_stock variable to the javascript array but that does not appear to work.

Can you suggest a way to achieve this at all?

Additionally, replacing the department ID with a wildcard “*” from any filtered page does seem to return global results. This seems quite handy but unfortunately the page does not show any filter options.

Do you think there would be a way to also enhance this result with the inclusion of filters?

i.e. Global “On Sale” results:
https://www.mypetwarehouse.com.au/store/filtered/d_*/ct19_a0e6870db7db/

regards,
Andy

0 Likes

#4

Hi @andy, how were you able to set up a filter by Promotion in the Filtered Search?

0 Likes

#5

Hi Dustin,

If you have any spare product_weblinxcustomtext fields which are not being used you can map one of these under your item table sync client with the following query.

CASE
WHEN [nitroasl_pamtable].[PAM_WebSalePrice] < [nitroasl_pamtable].[PAM_WebPrice] THEN ‘On Sale’
WHEN [nitroasl_pamtable].[PAM_Promotion] = 1 THEN ‘Special Offer’
END

You can then just reference that particular customfield within the filtered search options via the portal.

We do similar with extracts from our product names as below as these do not require any user involvement providing our naming convention is followed correctly.

case when Item.ExtendedDescription LIKE ‘%grain free%’ THEN ‘Grain Free’ when (Item.ExtendedDescription LIKE ‘%weight control%’ OR Item.ExtendedDescription LIKE ‘% light %’ OR Item.ExtendedDescription LIKE ‘%perfect weight%’ ) THEN ‘Weight Control’ end

You would of course need to map this to a different custom fields since they’re obviously going to be different filters.

regards.
Andy.

1 Like

#6

Thanks @andy. I had to tweak the query a bit to get it to work with out setup but it works well.

I really like some of the unique thing you do with the various carousals and keywords linking to groups of products.

Cheers,

Dustin

1 Like