Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

kymation

[Development] Products Specifications

Recommended Posts

The comparison list uses $current_category_id to get the category to list. This value is set in application_top.php. I don't see how the code could even determine the parent category. I need to look at this one some more.

 

Manufacturer using a multi-pulldown seems to have a SQL bug. On the list.

 

Filters are individual actions. You can't change more than one of them at a time and expect it to work. This could be changed to submit all filters at once, but that causes a bunch of additional problems. Not to mention completely rewriting that part of the code. Are customers really going to want to change a bunch of filters all at one time?

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
Are customers really going to want to change a bunch of filters all at one time?

I think so, especially when there are more than one Multiple class filters. See this picture. Would you click the appropiate find-matching-products button after a change in each set? Or would you change a bunch of filters all at one time?

 

This problem could be solved by updating the filter result after each checkbox has been changed; either check or uncheck a particullar box will update the list of prducts. A filter button is no longer needed and the list of products shown is always matching the filter settings.

 

For each filtertype the following events may trigger the filter:

  • Pulldown: selecting particular row = as it is now
  • Radiobutton: selecting particular button = as it is now except from the second click
  • Listof links: selecting particular link = as it is now, (however, in my case, the filter ended with a "+" symbol, this appears to disturb the filtering)
  • Text box: when focus is lost from the textinput box. Though, this one could be tricky, I think hitting enter or a search button next to the input field could work.
  • Multi-pulldown: on every row select/unselect action
  • Check boxes: on every box select/unselect action
  • Images: selecting particular image = as it is now
  • Multi-images: on every image select/unselect action

Regards,

Jerome

Share this post


Link to post
Share on other sites

Forgot one question:

 

Is it possible, when a subcategory has the same filters, filter result will include the products of that subcategory? But products from that subcategory only, not the parent nor any sibbling categories; These can be searched from a higher category.

 

Regards,

Jerome

Share this post


Link to post
Share on other sites

For muti-selects, you would have to select each value, one at a time, and then wait for a refresh before adding the next one. This seems clumsy to me. The other way to do it is to have one Update button for all filters, to update all changes at once. I've seen this done, and it feels clumsy as well. I was trying to automate this to make it as easy as possible. Maybe this could be an option, so the store owner can choose how it will work with their setup. It's still going to take a lot of work to code this for a single update for all filters.

 

To answer your question: That's the way it is supposed to work. The output should be all of the products in the current category, excluding subcategories, that meet the filter constraints. Filters applied at the top level, with no category set, will include products from all categories and subcategories. This follows the category structure of osCommerce.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Thanks for your reply.

 

For muti-selects, you would have to select each value, one at a time, and then wait for a refresh before adding the next one. This seems clumsy to me.

 

I know webstores which have filters like that, see the sites mentioned in post 26 for example. All depends on how fast the list can be refreshed. A long loading time (e.g. >1 sec) seems clumsy indeed. But much faster refreshing rates will work quite well.

 

The coding seems not to be too complicated, hopefully you will find it worth a try to see if this could work. However, if this doesn't work, I would not focus on code for a single update for all filters at this moment.

 

Regards,

Jerome

Edited by JvdP

Share this post


Link to post
Share on other sites

First off I want to say thanks for putting this great addon together. This is really going to change the way our site operates and hopefully bring in some extra orders!

 

I have a question about the filters. If I want to create a product filter for "Gender", would I need to create an additional "gender" field in the products table? Or is this handled in another way. I've successfully used the "Use existing database field" to create filters for price and a couple other test fields, but not any new fields.

 

Also, we have a couple hundred different manufacturers that products are assigned to. Does that mean that I need to create filters for each one of those products in a "Manufacturers" specification? Or am I not seeing how to have that filter list automatically populated.

 

Again, thanks for the fantastic work on this! Look forward to seeing it grow.

Share this post


Link to post
Share on other sites

You don't need to add any table fields, other than what the SQL file in the distribution adds. Just leave the Use existing database field set to none and edit/add products. There will be a field to fill in for each new Specification. One per language, actually.

 

You currently need to add Manufacturers to the filter by hand. I've been thinking about ways to automate this, or add an Import feature, but I haven't settled on anything yet. I will add that to the requested features list.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Perfect, that worked exactly as I expected! Thanks for the quick reply.

 

What's the purpose of the specification_values table? I don't see anything in the code that does any REAL interaction with that table (other than in a copy operation).

 

One other thing, what is the "Enter filter as" field when adding/creating a specification? I've tried using the different options, but haven't seen yet where that is used.

 

Fantastic work, works great even in it's early stages!

Share this post


Link to post
Share on other sites

Those settings aren't used yet. When I get the code working, they will allow you to select values in the Add/Edit Product page (e.g. by a pulldown) rather than typing into a text field. It's intended to make the product data entry faster and more foolproof. Of course you will still be able to use text entry if you want to.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Your In Stock is not correctly set up. You need a value other than 0, and probably more than one. That actually shouldn't even show, since you only have one value set up. Another bug.

 

Please tell me that's not a live store. This addon isn't safe to use yet.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
Your In Stock is not correctly set up. You need a value other than 0, and probably more than one. That actually shouldn't even show, since you only have one value set up. Another bug.

 

Please tell me that's not a live store. This addon isn't safe to use yet.

 

Regards

Jim

Yes it is a live store but everything has been tested and yes there is a bug or two but on the whole I am happy to use. I really need to so decided for the bug or two it was now worth it. In terms of the stock I have changed it to show if there is only 1. Your default SQL setting was a min of two. The way I did it was the only way I could get it to work.

Share this post


Link to post
Share on other sites

You can change the minimum in the Admin -> Configuration -> Products Specifications -> Minimum Spec Filter. Set it to 1 () will let you do what you want. The default is there for testing.

 

By "not safe to use" I mean it is not secure. You are leaving yourself open for hacking. Not advised, but that's your call.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
You can change the minimum in the Admin -> Configuration -> Products Specifications -> Minimum Spec Filter. Set it to 1 () will let you do what you want. The default is there for testing.

 

By "not safe to use" I mean it is not secure. You are leaving yourself open for hacking. Not advised, but that's your call.

 

Regards

Jim

Correct that is what I changed. I have found some bugs in the range filter which returns the wrong results so I have switched the filter off for now.

Share this post


Link to post
Share on other sites

I need to know detailed information on your errors before I can fix them.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
Correct that is what I changed. I have found some bugs in the range filter which returns the wrong results so I have switched the filter off for now.

 

That's an odd way of testing alpha software.

Share this post


Link to post
Share on other sites

On the search filter I setup a range for say Hdd space. If I searched for say 0-32 it returned items with 120 as well as other in the range. I did set one up for CPU and it worked ok just wasn't over happy with Hdd space.

Share this post


Link to post
Share on other sites

Not enough information. I can't do anything with vague summaries.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
That's an odd way of testing alpha software.

Yes I agree with that but as most people were saying for the filter there were no bugs found I put it on a dev box first and at first didn't see any probs. After playing I found 1 or 2 but on the whole I really like it and it does (apart from the bugz) what I exactly need.

 

1 nice extra would be to search for something in the filter but dispay different text to the user.

Share this post


Link to post
Share on other sites
Not enough information. I can't do anything with vague summaries.

 

Regards

Jim

 

Hmm, I created a specification filter type "list of links" filterclass "Range". Than I defined the following filters: 1, 2, 3,4 and 10. Filled in 33 as product specification.

 

When filtering in the catalog this product is displayed in the following ranges: 3-4 and 10+. So it seems the filter is executed as text and as numeric ranges. 3.3 is displayed in the same ranges. 120 is displayed in the ranges 1-2 and 10+.

Share this post


Link to post
Share on other sites
Hmm, I created a specification filter type "list of links" filterclass "Range". Than I defined the following filters: 1, 2, 3,4 and 10. Filled in 33 as product specification.

 

When filtering in the catalog this product is displayed in the following ranges: 3-4 and 10+. So it seems the filter is executed as text and as numeric ranges. 3.3 is displayed in the same ranges. 120 is displayed in the ranges 1-2 and 10+.

That is were I was going with the problem, but also sometimes the results arn't returned.

Share this post


Link to post
Share on other sites

This is a major problem with PHP. It wants to treat everything as a number unless it's explicitly declared as a string. We need to treat some specifications as strings and others as numbers, but be able to detect the correct type automatically. Obviously I've failed at this. I'll try again.

 

Also, I'm working on getting a new release ready. Hopefully today.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

I've added a new release at the usual location. Changes include the following:

1. Added the option to select specifications via pulldown, etc. on the Admin Products page. You can also enter multiple values for a specification this way.

2. Fixed most known bugs. The remaining issues are listed in the bugs.txt file. However there are still some requested features that have not been added.

3. Changes in this release include one new file and another major database change. I'm hoping this is the last time this happens. No promises.

 

Questions or comments on this development are always welcome. I'm still taking suggestions for added features, although major additions to the code may get put off until I get a final release of version 1.0. I'd like to get that out sometime this year, and it'll never happen if I keep adding one more feature every release.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
3. Changes in this release include one new file and another major database change. I'm hoping this is the last time this happens. No promises.

 

Hi Jim,

 

Importing the SQL script gave the following error:

 

Error

SQL query:

 

(NULL, 'Spec Combo Manufacturer', 'SPECIFICATIONS_COMBO_MFR', '0', 'Show the Manufacturer in a special combo box (0 = No, 1-9 = Sort Order)', 1610, 55, '2009-06-18 12:07:30', '2009-06-18 12:07:30', NULL, NULL), (NULL, 'Spec Combo Weight', 'SPECIFICATIONS_COMBO_WEIGHT', '0', 'Show the Weight in a special combo box (0 = No, 1-9 = Sort Order)', 1610, 60, '2009-06-18 12:07:30', '2009-06-18 12:07:30', NULL, NULL), (NULL, 'Spec Combo Price', 'SPECIFICATIONS_COMBO_PRICE', '0', 'Show the Price in a special combo box (0 = No, 1-9 = Sort Order)', 1610, 65, '2009-06-18 12:07:30', '2009-06-18 12:07:30', NULL, NULL), (NULL, 'Spec Combo Model', 'SPECIFICATIONS_COMBO_MODEL', '3', 'Show the Model number in a special combo box (0 = No, 1-9 = Sort Order)', 1610, 70, '2009-06-18 15:31:23', '2009-06-18 12:07:30', NULL, NULL), (NULL, 'Spec Combo Image', 'SPECIFICATIONS_COMBO_IMAGE', '1', 'Show the Image in a special combo box (0 = No, 1-9 = Sort Order)', 1610, 75, '2009-06-18 15:31:10', '2009-06-18 1[...]

 

MySQL said:

 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL, 'Spec Combo Manufacturer', 'SPECIFICATIONS_COMBO_MFR', '0', 'Show the Manu' at line 1

 

Regards,

Jerome

Share this post


Link to post
Share on other sites
Importing the SQL script gave the following error:

 

Line 190 must end with a ","

Line 205 must end with a ";"

 

Regards

Jerome

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×