Please note that PrestaShop Community sections are largely self-moderated. PrestaShop team members may or may not participate in non-English sections. To improve the chances of receiving feedback to your question or comment, please post it in English to the main sections of our Forum.

Vous parlez français ? par ici !
Filters/Layered Navigation/Advanced Search Module HOWTO
#1
Posted 10 December 2008 - 06:40 PM
What should this module do?
It should allow filtering products based on owner-specified criteria (this is, only display the products that match, not sort them). See Magento Layered Navigation. This criteria should be defined on a per-category basis. Moreover, products in any category should be able to be filtered by manufacturer.
E.g.: We have a "Laptops" category. When we click on it, we see all the laptops our shop has, and can sort them (at this time) based on different criteria: price, name (A-Z), etc. Well, if we have, let's say, 200 laptop models, no one will browse pages to find one that's in the middle of the list.
So, the first step in the shopper filtering process would be to select a manufacturer. This filter could be invariable (i.e. category-independent, hardcoded).
Next, we will select a processor type, a monitor width and so one. These parameters should be defined in the backoffice, based on existing attributes and be category-dependent. Another type of filter should be a price-range, also category-based and also defined in the backoffice.
In the front-office, a set of SELECT boxes should appear somewhere (e.g. near "sort by" box), having a label named after the attribute name (e.g. "Manufacturer", "Processor type") and values - the DISTINCT values in the DB for that attribute ("Manufacturer" should contain all distinct manufacturers in that category). Of course, the presentation could be different (for example a left-block), but you get the idea.
When selecting any of those values, we should see only the products that match, in that category (and the value should remain selected in the box). Also, the filters have to be cumulative.
Appearance
Back office: each category (and subcategory) should have options to configure filter attributes and a price-range (add, edit, delete).
Front office: the filters should be placed somewhere on the page (left block, near "sort by" field, etc.)
-----------------------------------------------
This is not a feature request. I'm interested in programming this module, but I need some guidelines for that:
1. Where to hoook this module ("Extra action on the product page" - is it a good position?)
2. What DB tables are involved
3. Any other interesting info.
If any developer or PS guru out there could provide any information, I'm glad to hear it, and thanks in advance.
If this capability is being implemented right now (this is, you work on it, not planning), just let me know. This is the only and only missing (basic) feature that stops my company to swith to prestashop from ZenCart. And it's not only our case.
Thank you.
#2
Posted 10 December 2008 - 07:24 PM
In the backoffice: filter attributes can be defined by selecting which caracteristics will be used (just a checkbox list in "configure" of a module) and the price range may be set dynamically in the block by the user, no need to edit these values for each category.
So you just need to create a module and not change anything in the backoffice or use a specific hook.
For me the place of this module should be just at the below the categories block in the left column.
Want spare time, lovely week-ends? Then request a demo of Store Commander for Prestashop!
#3
Posted 10 December 2008 - 08:30 PM
This should be placed on either the left or right columns and not on the product page. You can easily get the tables used by looking at product.php that should be a great start for you. Also it would be better to not anyone set the filter ranges but rather set which filter ranges will appear. I would also suggest to not use the features and attributes that come stock with PrestaShop as they will only cause you problems, I would write a module that aggregates the data already present and places it into a new database and from there, if the module is activated, inserts new data into the newly created tables. This will make it much easier as the data you need will only be stored in one or two databases instead of across 5 or 6. That is just my two cents, Good Luck!
- Seth
#4
Posted 10 December 2008 - 09:13 PM
From 1228933477:
In the backoffice: filter attributes can be defined by selecting which caracteristics will be used (just a checkbox list in "configure" of a module) and the price range may be set dynamically in the block by the user, no need to edit these values for each category.
So you just need to create a module and not change anything in the backoffice or use a specific hook.
For me the place of this module should be just at the below the categories block in the left column.
Well, configuring this in the module configuration doesn't seem such a good idea to me. The filters should be category-specific, not sitewide. A short example: for "Laptops" category we can filter after RAM size, but this is irrelevant for "Monitors" category. If we configure filters in the module "configure", RAM size will appear regardless of category (this is, for any product). At least this is what I understood from your approach, please correct me if I miss anything.
From 1228937430:
I suppose that by "databases" you meant tables. It is a good suggestion, but new problems would arise: aggregated data should be updated every time a product is added, and doing this means I should also alter "add product" function(s). After all, making a new table from 5 or 6 is not such a difficult task (powered by JOIN :) ).
Also, the location of this widget is not a primary concern, as far as I could see, a block can be placed anywhere on the page (left, right, etc.). This should be configurable (native, if the module is written correctly). I would place it on the product page because it is category-specific but, again, this is not mandatory.
Thank you for your answers.
#5
Posted 10 December 2008 - 09:23 PM
- Seth
#6
Posted 10 December 2008 - 09:38 PM
class FiltersPanel extends Module
{
function __construct()
{
$this->name = 'filterspanel';
$this->tab = 'Panels';
$this->version = 0.1;
Also currently working on many other new modules including advanced searches & search by price categories etc.
We would like to release all these modules to the community, but have one major project which has to come 1st However as planned & extremely late the CMS Pro update for Prestashop will be released before the new year.
allowing you to control content anywhere :)
Unfortunately at this stage we will no be requiring any beta testers, it seemed much simpler for compatibility issues to update the existing CMS module for Prestashop.
Available Soon
Filter Search 2.1 Lite Edition
Follow us on twitter
#7
Posted 10 December 2008 - 09:42 PM
From 1228940604:
Indeed, you don't need to search for an item in a category with, let's say, 10 items. But when you have, for example, 100 types of items (we have this on our shop - over 100 UPS-es and UPS related products), no one will look for it by reading the specs, they would rather filter this big result. For the moment, because the lack of this feature, Prestashop is suited to shops with categories with not very many products (I would say 10, maybe 15 is a maximum a potential buyer will tolerate without filters).
#8
Posted 10 December 2008 - 09:45 PM
I think you missed what just happened xD I thought you said you wanted it on the product page not the category pages, the category page is much more understandable then searching for an item only on the page were you view a product. lol there was a misunderstanding somewhere xD
- Seth
#9
Posted 10 December 2008 - 11:04 PM
#10
Posted 10 December 2008 - 11:46 PM
Available Soon
Filter Search 2.1 Lite Edition
Follow us on twitter
#11
Posted 11 December 2008 - 11:04 AM
From 1228940022:
From 1228933477:
In the backoffice: filter attributes can be defined by selecting which caracteristics will be used (just a checkbox list in "configure" of a module) and the price range may be set dynamically in the block by the user, no need to edit these values for each category.
So you just need to create a module and not change anything in the backoffice or use a specific hook.
For me the place of this module should be just at the below the categories block in the left column.
Well, configuring this in the module configuration doesn't seem such a good idea to me. The filters should be category-specific, not sitewide. A short example: for "Laptops" category we can filter after RAM size, but this is irrelevant for "Monitors" category. If we configure filters in the module "configure", RAM size will appear regardless of category (this is, for any product). At least this is what I understood from your approach, please correct me if I miss anything.
In fact I thought you can get caracteristics used (not null) in a category by products to simplify but finally the search tool requires more precisions to select criterias.
Want spare time, lovely week-ends? Then request a demo of Store Commander for Prestashop!
#12
Posted 11 December 2008 - 11:53 AM
For example, when you enter a certain category, say CPU, then you filter by brand or something, afte that, you can not continue filtering by other attributes like price, color...
So this layered navigation still need someone to finish it thoroughly.
BTW, Prestashop has better customer experience than Magento. Keep going! Your fondation is solid for Prestashop is loaded as fast as lightning! Plus: it is easy to find a hosting!
#13
Posted 11 December 2008 - 01:12 PM
The reason we didn't do this with Linksphere is because there are nearly 6500 products being updated daily.
Although currently creating a batch update in the backoffice this would be far too much work for my client at this stage.
However in the future this will be considered. Again I can support this feel free to chat with me on SKYPE ;)
Available Soon
Filter Search 2.1 Lite Edition
Follow us on twitter
#14
Posted 11 December 2008 - 02:11 PM
Does it need to code in the core of Prestashop or this can be achieved by making a module?
I think it is time to consider making up some necessary features for Prestashop that stops people from using this wonderful eCommerce platform!
#15
Posted 05 March 2009 - 04:56 PM
I created a module called "products filter" whose can certainly match with a part of yours needs. It filters products list by price range / by manufacturer on page category / by category on manufacturer page.
You can see it here: http://prestashop.jo...p?id_product=14
Perhaps we can work together for ameliorate this module...
Ingénieur/webdeveloper freelance
Visit PrestaPlayers
#16
Posted 13 April 2009 - 04:07 PM
SKYPE: yaakov.david
SKYPE: amwdesign
Advanced Filtered Navigation Module for Prestashop
available at our website: http://ejectcore.com
FREE limited community release coming soon
Currently looking for sponsors for our CMS Pro module that adds advanced CMS features to Prestashop.
Checkout Pro releasing xmas 2009
Attributes Management Pro T.B.A.
Contact us via SKYPE for further details
amwdesign
yaakov.david
And follow our updates on twitter at http://twitter.com/ejectcore
#17
Posted 15 April 2009 - 11:26 AM
And what do you think about my module ?
Ingénieur/webdeveloper freelance
Visit PrestaPlayers
#18
Posted 19 April 2009 - 07:52 AM
has anyone accomplished this? any demos?
ty
#19
Posted 19 April 2009 - 12:18 PM
waitss
#20
Posted 20 April 2009 - 06:12 AM
Ingénieur/webdeveloper freelance
Visit PrestaPlayers
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











