• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

E-Commerce Criteria Search

Participant ,
Jun 14, 2017 Jun 14, 2017

Copy link to clipboard

Copied

Hello everyone,

I'm not sure if the following scenario is technically possible within Adobe BC, so please bear with me here.

My client would like a sidebar/secondary search panel that enables visitors to find electrical products by specific criteria, e.g. height, width, depth, colour, IP Ratings and AMPs. All the information required for this search is contained in the master spreadsheet, that is used to populate the Adobe BC e-commerce catalogs on the site and is displayed on individual product pages.

For the search panel I'd ideally like a series of drop-drop lists that dynamically populate themselves with the relevant options for each criterion - in the same way that the Catalog drop-down list does on the standard E-Commerce search module. So Colour, for example, would list all the colours that appear in the Custom1 column of the spreadsheet.

Those who have viewed my previous questions over the past week will know that I now have liquid enabled on this site. For clarity I've also included a screen snap of what I'm trying to achieve with my relevant tags shown.

I've obviously attempted to customise the standard Adobe BC E-Commerce search module, but had limited success. Equally I'm unsure as to whether this is an element that I should be constructing as a WebApp, as that seems to require a completely different formatted spreadsheet altogether.

What I DON'T WANT, is for my client to have to upload different spreadsheets of product information simply for the site to perform various functions. Surely one master spreadsheet should be able to do everything?

If anyone can provide advice, or point my in the direction of an online tutorial that would help me to progress this component further, I be very grateful. 

criteria_search.png

TOPICS
Developer

Views

471

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jun 14, 2017 Jun 14, 2017

Copy link to clipboard

Copied

The only solution as i see it is to use the Web Applications API V3, create an App and create an import GUI in liquid + JS for creating a CSV import function and use that to have all in one single Excel sheet for the client to upload, do the processing in javascript and the import it via the API, to both the Product in question and a WebApp that you tie to the product via the ID's.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Jun 14, 2017 Jun 14, 2017

Copy link to clipboard

Copied

What bcalpha said is correct and would be an exact solution to your problem: 1x spreadsheet via a custom BC App, leveraging web apps which inherently allows custom searching per custom fields. However, and there's always an however, this solution requires advanced/expert knowledge of BC to achieve.

In all seriousness, what you're asking for is going to be difficult to achieve. I've done similar solutions in the past either only using Web Apps (Find a RV ) or using a combo of eCommerce and Web Apps (for the filtering and extending customised fields: Dog Food ), but I know you said you specifically do not want to have to upload and maintain two spreadsheets / databases.

Which leads to me my solution for you: Filtering using "Product Attributes".

I made a filter on a website that would look through the product attribute {tag_attributes_json} or {{ attributes }} which gives you everything in a JSON format. With this I was able to dynamically build a filter out of Product Attributes based on the products in a particular catalogue. For you, you will have more uniformity, but the point is, try and leverage Product Attributes for your "custom filter".

Take a look at a working solution (product attributes): MR16 LED Light Bulb Halogen Replacements

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jun 15, 2017 Jun 15, 2017

Copy link to clipboard

Copied

Thank-you bcalpha and Stephen_Bilgnault for your insightful thoughts on this particular problem. Your feedback is very helpful.

I guess I've reached the point where Adobe's statement on the BC homepage about building e-commerce sites "…without the pain of custom coding or tedious configuration" falls over.

Fortunately I have a family member at Edinburgh Uni studying informatics and programming. He's already put together some simple js scripts for me, but now could be the time for me to get him more involved with the sites I'm being asked to develop.

Also many thanks Stephen for pointing me in the direction of filtering using "product attributes". Looking at your lighting site - and the filter you created - has given me inspiration and hope that I may be able to create and implement something similar to resolve this particular problem.

I'll let you know how I get on. Thanks again

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jun 15, 2017 Jun 15, 2017

Copy link to clipboard

Copied

The attribute suggestion is a really good one, but will be hard to manage since you will have to keep track of all of the filters by name on ever product so that they match the attribute name (More on that below).

To your programmer friend:

attributeString: "Non Dimmable;Warm White 2700k;"

Use this field and split it in liquid and JS to get the values to use for the filters.

You will need to build a list of these to be able to have consistent filters for the GUI, which will not be easy to administrate.

I'd even say that having a custom admin to manage that is a necessity.

There is also the pitfall of liquid not including an empty value into the array when doing a split.

If you want to make advanced systems like this, please hire someone that have done it before or you will be hitting your head against the wall before, during and long after the project is done.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Jun 15, 2017 Jun 15, 2017

Copy link to clipboard

Copied

LATEST

Hi bcalpha, on this particular lighting website, I developed a system (before liquid was out) that would read each individual products attribute using date-attribute='{tag_attribute_json}' - then dynamically build the filter based off of the attribute groups found. So it's a kind of plug and play solution that dynamically molds itself per catalogue based on the products in view. This solution solved 2 major problems: 1) Product Filtering without using web apps 2) Dynamic filtering requirements per catalogue/sub-catalogues.

At the end of the day, Derek, I think what both bcalpha and I are saying here is that although there are a number of solutions, they are all advanced and more specifically are probably ideally suited to a BC App which I think bcalpha or others or even your developer contact may be able to provide - should your customer have the budget.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines