Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Faceted Search add-on


Recommended Posts

Hi all,

I am implementing a plugin that allow "faceted search" -- a system where multiple filters can be applied to a product listing page to refund selection.

Here is my test site:

http://test.rumatech.com/hats/spring-racing-fascinators-c-116.html

I currently implemented filters for brands and price range. (at the moment clicking on page selection or apply sorting breaks the page, but that is being worked on at the moment).

As it turned out to be more complex than I originally anticipated, I need some help with testing and styling (I suck at CSS).

System is modular, applicable to EDGE version only (at the moment). Each facet (each filter) is an individual module that can be enabled/disabled/configured via admin interface. Product list update is happening via AJAX.

If anyone is interested in helping, please PM me.

v0.1 will be released as an add-on once I fix the problem with page selection and sorting.

Oh, and any suggestions on additional facets or functionality are also welcome.

Thanks,

Rudolf

Link to comment
Share on other sites

Perhaps 'filtered category listing' would tell people straight away what it does.

It's likely a feature that will be in great demand when it's working. For this reason the ajax needs to be totally secure othewise it will be easy for a hacker to trawl for sites using it...

The price slider isn't behaving predictably at the moment - it changes which products are displayed but not within the range apparently set

Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released.

Looking for a payment or shipping module? Maybe I've already done it.

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Link to comment
Share on other sites

Thanks @BrockleyJohn

It is being called "faceted search" for a reason:

https://en.wikipedia.org/wiki/Faceted_search

My site is set to show highest price firs, this is why slider may appear as not working when changing low boundary. And there are MANY products in this category.

Security -- each input is "vetted" before being sent to database. I the end, it will fall into individual facet designs. I am trying to make it as secure as possible as I go, but this is one of the reasons I need outside testing.

Rudolf

Link to comment
Share on other sites

First time I set the slider to min/max 229 all products were priced 219. Second time all products 259. Then set range 229 - max (300 and something) and got no products at all. Win 7, Firefox.

Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released.

Looking for a payment or shipping module? Maybe I've already done it.

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Link to comment
Share on other sites

7 minutes ago, BrockleyJohn said:

First time I set the slider to min/max 229 all products were priced 219. Second time all products 259. Then set range 229 - max (300 and something) and got no products at all. Win 7, Firefox.

Some products would disappear if I drag the slider around and then drag them back to the min and the max.  Win10, Chrome.

Link to comment
Share on other sites

General advice:

1.  when creating something that you need help with...create it on a new installation of osc.  
This way people can help without having to look at loads of code that you have added and has nothing to do with addons.
It also allows you to share the code much more easily.

2.  Sample it on just a few products
This makes it easier for people to see it working and therefore help you.

Specific Advice:

HTML5 custom attributes. 
Read this: http://html5doctor.com/html5-custom-data-attributes/  

General Question to better my understanding:

Do shoppers use range sliders?  Personally (when shopping) I might sort products products by price.  I have never used a range slider.
If the answer is "yes, shoppers do use them", then my next question is;  Do you need a minimum and maximum range?  Why not just "maximum".  In other words; I have £200 to spend, show me all the products under £200.  What's the point in having the other end of the scale?

Link to comment
Share on other sites

@burt

I know what you are saying. I needed filtering specifically targeted to my shop. Was planned to be completely custom solution.  I tried to use few existing plugins before starting to make my own. Eventually realised none were working in the way I wanted. By that time it was too late to start new. But, I did try to keep changes to existing code base to an absolute minimum. All functionality is in my own separate files. So, will be easy to apply to  a "virgin" or modifed store.

Slider...

This will vary shop to shop. In some fields customers may use it. In my area, I do need slider as ladies are "visual". And I do need both ranges. As I do have a lot of products, this allows customers to narrow the search.

Also, each "filter" is independent from others. They are easily customisable  (by code changes at the moment) and new ones can be added relatively easily too. So, price range by checkboxes or dropboxes can be easily added.

 

And thank you for the pointing me to HTML5 attributes. I will look at it too.

Rudolf

Link to comment
Share on other sites

OK, here is a very first "raw" version with likely million of bugs, but this is a start.

I think I fixed sorting and pagination issues along with slider problems reported earlier.

I do not want to make an upload to add-on section until it is stable.

Documentation is included. Installation should be very simple with core code changes kept to an absolute minimum.

I really need help with testing and I will be adding more functionality in the meantime.

If you implement any fixes yourself, please send me details, so I can integrate them.

 

Before you ask why I am not using github... Well, I hate it. Just can not get used to use it. May be a bit later.

Rudolf

Facets Add-On.zip

Link to comment
Share on other sites

You've already lost me with this;

Quote

Grid/List View header tag has a flaw in its design and this creates incompatibility.Grid/List View header tag has a flaw in its design and this creates incompatibility.

Thanks a bunch.

Link to comment
Share on other sites

@burt.

The way current system works -- all product listings are displayed as list view. Then, Grd/List view header tag module runs some JS, changing layout to grid view.

The problem is -- this behavior is not compatible with ajax displaying of the product list. Grid/List JS runs only once, when page loads for the first time.

So, I modified JS in the module by encapsulating all of the relevant JS code into a function and call this function when required. This way, original functionality is preserved and this function can be called externally by other modules if they have to reload product list without reloading the page.

Hope it makes sense.

Rudolf

Link to comment
Share on other sites

  • 3 weeks later...

v0.2 is now released in osCommerce add-on section.

I added support for mobile version, as well as various improvements and bug fixes.

This thread is now a support thread for the add-on.

https://apps.oscommerce.com/Apps&qink1&faceted-multi-filtered-product-search

Please let me know any issues you may find. Project is quite complex, so I am sure it is not bug-free. I currently run this module live on my site:

www.hatsfromoz.com.au

Rudolf

Link to comment
Share on other sites

  • 4 weeks later...
On 2/4/2018 at 4:29 PM, rudolfl said:

v0.2 is now released in osCommerce add-on section.

I added support for mobile version, as well as various improvements and bug fixes.

This thread is now a support thread for the add-on.

https://apps.oscommerce.com/Apps&qink1&faceted-multi-filtered-product-search

Please let me know any issues you may find. Project is quite complex, so I am sure it is not bug-free. I currently run this module live on my site:

www.hatsfromoz.com.au

Rudolf

WTG, buddy!

Link to comment
Share on other sites

On 3/6/2018 at 4:00 PM, rudolfl said:

@modelshopleeds

Thank you Andy,

I just re-uploaded the full package including missing file. Also couple of minor fixes included

 

Rudolf

Many thanks for your efforts))

I installed yours add-on, added a few facets of my own (nothing very special, attributes specific to my products, realized via additional columns in products table), made some tweaks for my taste.

It works and looks nice... But... What we need here badly is the ability to remember the facets selection values while customers are clicking on products and visiting product_info.php, next clicking "Back" button and returning to index.php to see not the page with reset facets, but with their previously selected facet search parameters.

Unfortunately, I am not an expert in this field, and I am pretty much thankful for your effort as it is, but may be there is a way to improve this VERY needed add-on.

Rgds,

Vladimir

 

 

Link to comment
Share on other sites

3 hours ago, oldsam said:

Many thanks for your efforts))

I installed yours add-on, added a few facets of my own (nothing very special, attributes specific to my products, realized via additional columns in products table), made some tweaks for my taste.

It works and looks nice... But... What we need here badly is the ability to remember the facets selection values while customers are clicking on products and visiting product_info.php, next clicking "Back" button and returning to index.php to see not the page with reset facets, but with their previously selected facet search parameters.

Unfortunately, I am not an expert in this field, and I am pretty much thankful for your effort as it is, but may be there is a way to improve this VERY needed add-on.

Rgds,

Vladimir

 

 

Thank you for suggestion.

I will have to think how the best to implement it. It is not straightforward, but should be do-able.

Rudolf

Link to comment
Share on other sites

On 12/03/2018 at 7:12 AM, oldsam said:

Works like a charm. Thank you. I had to add styling in catalog/includes/modules/content/header/templates/facets.php to get the list to display properly

.nav-list li {  list-style: none; } li.nav-header.secondary-nav { background: #a7c3ef; }

Regards, Andy.

 

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...