Post by pappco » Wed Jul 31, 2013 9:20 pm

Automated, improved version of Advanced Attribute Search. We removed some features from it to make the module easier to configure, and we improved some of them to be it more useable. The main difference between this module and Advanced Attribute Search is that on the frontend it will display attributes that are enabled on the admin and there are products in the category which connected to the attribute. For example if you have an attribute called "Tire size" enabled on the admin but in the category where you put the module there are no products with "Tire size" attribute, then the "Tire size" filter won't display. The attributes are sorted by their sort order.

The extension can be found here: http://www.opencart.com/index.php?route ... n_id=13049

---------------------------
Automatic Attribute Filter (+Price, +Manufacturer)
version 1.6
vQmod version 2.4.1
written by opencartgeek.com
---------------------------

Features:

- The ability to filter products in a category through they attributes, manufacturers, stock prices (see how many products fits the search criterias - count)
- Attributes can be split by a configurable char. If you have, for example, a ClockSpeed Attribute with values like "100MHZ,200MHZ" you can instruct the module to create multiple filter entries by splitting, in this example, by coma. One click and all filters are automatically created.
- Support of select one or select multiple attribute values
- Can only be displayed on Category layout
- Automatically decides which attribute filters to display. (Will display attribute filters only if they are enabled on the admin, and connected to at least one of the products in the category)
- Custom title/language support
- Selectable attributes
- Unlimited module placement

Support: opencart@pappco.hu
Demo: http://demo.opencartgeek.com/
Admin demo: http://demo.opencartgeek.com/admin/(demo/demo)

Prerequirements:

- vQmod (2.4.1)

Installation:

- First you need install vQmod (http://code.google.com/p/vqmod/)
- Extract the downloaded archive
- Connect using a FTP program to your hosting/server account and browse the root of your OpenCart installation folder.
- Upload the contents of "upload" folder to OpenCart's root folder. You should not get any file replacement warnings. If you do, double check to make sure you are not replacing any critical files (if you had an older version of the modules already installed, you will need to replace the old files).
- Enter OpenCart's administration menu, Extensions > Modules and "Install" the module
- Configure the module.

Update:

- Connect using a FTP program to your hosting/server account and browse the root of your OpenCart installation folder.
- Upload the contents of "upload" folder to OpenCart's root folder. You should not get any file replacement warnings. If you do, double check to make sure you are not replacing any critical files (if you had an older version of the modules already installed, you will need to replace the old files).
- Enter OpenCart's administration menu, Extensions > Modules and "Edit" the module
- Save your settings, even if you didn't make any changes.


Compatibility:

This version is tested with OpenCart 1.5.6.*, 1.5.5.*, 1.5.4.*, 1.5.3.*, 1.5.2.*

Important: If you click on search button and nothing happens, you may have to update JQuery.

How to update JQuery:
- Upload the contents of "jquery_update/upload" folder to your Opencart installation folder.
- Open "catalog/view/theme/YOUR_THEME/template/common/header", and search for the following code snippet: "<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-".
- Change the version number to 1.7.1 and save the file. The modificated line should look like this: "<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.7.1.min.js"></script>".


Non-English users:

The english translation file is located at "admin/language/english/module/autoadvattrsearch.php", "catalog/language/english/module/autoadvattrsearch.php"

Important:

take care with turn on count for every attributes, it can lead to performance problems, we did created a good cache, and good sql query, but...

Custom themes:

You will need to copy the included template files:
"OC_FOLDER/catalog/view/theme/default/template/module/autoadvattrsearch.tpl"
for your custom theme's module folder:
"OC_FOLDER/catalog/view/theme/YOUR_THEME/template/module/autoadvattrsearch.tpl"
and edit it to fit your theme.

Custom css:

You will need to copy the included css files:
"OC_FOLDER/catalog/view/theme/default/stylesheet/autoadvattrsearch.css"
for your custom theme's module folder:
"OC_FOLDER/catalog/view/theme/YOUR_THEME/stylesheet/autoadvattrsearch.css"
and edit it to fit your theme.

Version history:
1.6 (20140228)
- fixed problem which we solved before with displaying "Tax settings error"
- added missing helper loader function for older versions of opencart

1.5 (20140218)
- fixed deprecated function (getCategoriesByParentId)

1.4 (20140124)
- fixed mysql escape issues
- fixed pagination, sorting issues

1.3 (20131204)
- attributes are now sorted by their sort order

1.2 (20131120):
- fixed price filter when tax rates are misconfigured

1.1 (20130813):
- fixed display in categories
- bugfix
Files affected:
- catalog/controller/module/autoadvattrsearch.php

1.0 (20130713) - initial release

Screenshots:
Image
Image
Image
Image
Last edited by pappco on Tue Jun 03, 2014 7:03 pm, edited 9 times in total.

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by pkmaherwal » Thu Aug 01, 2013 5:56 pm

I purchased this extension but it is not working. It is showing some SQL Error on my category Page.
Please help

Here is the error message.

Code: Select all

Notice: Error: 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 'IF(p.tax_class_id = 10, ,IF(p.tax_class_id = 0, 0,0))))/1 as calcPrice FROM oc_p' at line 5
Error No: 1064
SELECT max(lp.calcPrice) as price FROM oc_product p join (SELECT p.product_id, @lowestPrice := LEAST(p.price, IFNULL((SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1),p.price), IFNULL((SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1),p.price)), (@lowestPrice + IF(p.tax_class_id = 9, ,IF(p.tax_class_id = 10, ,IF(p.tax_class_id = 0, 0,0))))/1 as calcPrice FROM oc_product as p) as lp on lp.product_id = p.product_id LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id IN (64) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' in 
....../system/database/mysql.php on line 50

Newbie

Posts

Joined
Thu Aug 01, 2013 5:49 pm

Post by pappco » Tue Aug 13, 2013 11:32 pm

UPDATE:
1.1 (20130813):
- fixed display in categories
- bugfix
Files affected:
- catalog/controller/module/autoadvattrsearch.php

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by johnnypadla » Sun Aug 18, 2013 6:59 pm

I like the script but what I can do to make "Product filter" appears on the search engine (index.php? route = product / search & search = example) and not just in the categories (index.php? route = product / category & path = 5)
thanks for everything, very friendly

User avatar
Newbie

Posts

Joined
Sun Aug 18, 2013 6:56 pm

Post by klakieros » Fri Aug 23, 2013 3:54 am

I am also getting the SQL error and can't get this to work....

Notice: Error: 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 'IF(p.tax_class_id = 10, 2.0000,IF(p.tax_class_id = 0, 0,0))))/1 as calcPrice FRO' at line 5
Error No: 1064
SELECT max(lp.calcPrice) as price FROM eashopproduct p join (SELECT p.product_id, @lowestPrice := LEAST(p.price, IFNULL((SELECT price FROM eashopproduct_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1),p.price), IFNULL((SELECT price FROM eashopproduct_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1),p.price)), (@lowestPrice + IF(p.tax_class_id = 9, ,IF(p.tax_class_id = 10, 2.0000,IF(p.tax_class_id = 0, 0,0))))/1 as calcPrice FROM eashopproduct as p) as lp on lp.product_id = p.product_id LEFT JOIN eashopproduct_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN eashopproduct_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id IN (84) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0'

Newbie

Posts

Joined
Fri Aug 23, 2013 3:52 am

Post by pappco » Fri Aug 23, 2013 3:24 pm

Please send an email us with the following informations:

Opencart username:
Opencart version number:
VQMod version number:
Installed module name:
Installed module version number:
Detailed description of the issue:

Please note that we can't help you until we didn't get these informations.

opencart@pappco.hu
klakieros wrote:I am also getting the SQL error and can't get this to work....

Notice: Error: 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 'IF(p.tax_class_id = 10, 2.0000,IF(p.tax_class_id = 0, 0,0))))/1 as calcPrice FRO' at line 5
Error No: 1064
SELECT max(lp.calcPrice) as price FROM eashopproduct p join (SELECT p.product_id, @lowestPrice := LEAST(p.price, IFNULL((SELECT price FROM eashopproduct_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1),p.price), IFNULL((SELECT price FROM eashopproduct_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1),p.price)), (@lowestPrice + IF(p.tax_class_id = 9, ,IF(p.tax_class_id = 10, 2.0000,IF(p.tax_class_id = 0, 0,0))))/1 as calcPrice FROM eashopproduct as p) as lp on lp.product_id = p.product_id LEFT JOIN eashopproduct_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN eashopproduct_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id IN (84) AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0'

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by makingtrails » Tue Oct 29, 2013 10:50 pm

Great Plugin, works really well, however I would like to arrange the filter settings in a custom order so they are not displayed Alphabetically.

For Example, the above shows the following

Aspect Ratio
Finish
Max Resolution
Panel Type
Size
Price


From a retail point of view you would want to promote the most relevent feature first.

e.g Customers wants a 40" TV with 1080i resolution in a light finish for $1000. Therefore the order would be

Size
Max Resolution
Finish
Aspect Ratio
Panel Type
Price


Can you advise me what I need to do?

Thanks

User avatar
New member

Posts

Joined
Fri Nov 25, 2011 7:11 pm

Post by Vytenis » Fri Nov 01, 2013 9:18 pm

Did any one solved the SQL issue? Or has an idea how to solve it? I`ve purchased this extension and with OC 1.5.5.2 it doesn`t works:/

New member

Posts

Joined
Mon Aug 01, 2011 1:33 am

Post by Vytenis » Fri Nov 01, 2013 11:51 pm

Update about the problem. Issue lies in the controller with the price selector. I commented out all the price range selectors code and it works. Except the price slicer. Hope it will help for somebody

New member

Posts

Joined
Mon Aug 01, 2011 1:33 am

Post by pappco » Wed Nov 20, 2013 5:30 pm

UPDATE:
1.2 (20131120):
- fixed price filter when tax rates are misconfigured

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by pappco » Wed Dec 04, 2013 6:16 pm

UPDATE:
1.3 (20131204)
- attributes are now sorted by their sort order

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by pappco » Fri Jan 24, 2014 5:31 pm

UPDATE:
1.4 (20140124)
- fixed mysql escape issues
- fixed pagination, sorting issues

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by pappco » Tue Feb 18, 2014 6:24 pm

UPDATE:
1.5 (20140218)
- fixed deprecated function (getCategoriesByParentId)

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by pappco » Fri Feb 28, 2014 4:19 pm

UPDATE:
1.6 (20140228)
- fixed problem which we solved before with displaying "Tax settings error"
- added missing helper loader function for older versions of opencart

New member

Posts

Joined
Sat Jul 14, 2012 6:33 pm

Post by spear » Mon Jun 23, 2014 4:47 pm

Will an attribute as filter work on subcategories as well?
What I mean see on this example:
Parent Category with name AIR GUNS - there have no linked products to this category
1. Subcategory BULLETS - there have many linked products to this category
attributes:
- weight1
- size1
- color1
2. Subcategory RIFLES - there have many linked products to this category
attributes:
- weight2
- size2
- color2
3. Subcategory ACCESSORIES - there have many linked products to this category
attributes:
- weight3
- size3
- color3

So, If the user is in subcategory BULLETS he will see only the attributes weight1, size1, color1 belong only to the products in this subcategory.
Or to can he see weight1, size1, color1 as filters the products must be linked to the parent category + subcategory?

Newbie

Posts

Joined
Sat Apr 26, 2014 5:21 pm
Who is online

Users browsing this forum: No registered users and 420 guests