One request that many Magento website store owners have is the ability to introduce multiple filtering options on to their catalog pages so that people can sort by price, category, manufacturer or any other attribute being used on the store. There are a few extensions out there that help to achieve this, but they are often times very bulky, slow loading, and end up ultimately reducing the quality of the user experience you set out to improve.
One of the biggest problems with filtering Magento Catalog pages via attributes is loading the attributes themselves. Each attribute acts as a separate call to the database, and then must loop through all of the records for that attribute, which can oftentimes get very bulky for attributes like “manufacturer”.
In order to combat this while still being able to introduce the intended functionality, we’ve built this Magento Catalog Filter Extension that will allow for the Magento admin to select from any of their available attributes to filter by, and easily include them anywhere you’d like on the Catalog page with a 1 line snippet like the one below:
<?php echo $this->getLayout()->createBlock('catalogfilters/test')->setTemplate('catalogfilters/index.phtml')->toHtml(); ?>
Now, when the page loads, it will include the select options for your catalog filters, but it won’t actually run the code to populate the dropdowns with all of your attributes until after the page has loaded by using Ajax. This allows for your users to render the page much faster than they would’ve previously while still giving them as many filtering options as you feel are necessary.
You can download our Magento Catalog Filter Extension below free of charge and is provided as is. This extension does work with Magento 1.9.2 but we do not guarantee it will function properly in combination with all other extensions, so install at your own risk and make sure to create backups beforehand. If you’d like help with modifying this extension, or would like to engage us to build a custom Magento extension, feel free to contact us at firstname.lastname@example.org