Magento - layered nav - display attribute based on previous filter - magento

Basically, what I would like to do is have some attributes in the layered nav block show up only if a particular filter was set before. Here’s an example:
Customer goes into ‘rings’ category. There would be many different attributes displayed in the ‘shop by’ block, however I only want a few to be shown at this stage including: Material (white gold, yellow gold, silver etc.). If, and only if, the customer selected a material (specifically yellow or white gold), on the next page i would like there to be the ‘gold carat’ attribute available in this block. As it is at the moment ‘material’ and ‘gold carat’ are both shown in the layered nav which isn’t ideal.
Ive had a look at the code in app/design/frontend/default/default/template/catalog/layer but I can’t seem to get any inspiration.
Thanks for any help
Jamie

Jamie - Unfortunately, as I'm sure you have discovered, Magento doesn't do this out-of-the-box. The layered navigation is built based upon the available attributes (that have been set as filterable nav) for the category listing you are viewing.
You would have to write a custom module to override the layered nav output. A place to start could be /app/code/core/Mage/Catalog/Block/Layer/Navigation.php. Good luck!

Related

Magento: how to display the correct images for configurable products in search results

I'm building configurable products on my Magento site (a simple way of showing each of our textiles with the swatches of the different colors of the same item under the main product image) and I have associated simple products for each individual color.
I don't seem to be able to obtain the desired behavior from the site and I'm writing to ask if you have a suggestion that might solve my problem.
At the moment I experience this behavior: when filtering products through color-level attributes I get both the simple and configurable products in my result set. Once I do that if I click on a simple product I find myself the simple product detail page, which doesn't show the box with the other color swatches.. while I would like every product detail page to show the other colors of the same item.
The intended usage is very basic really but I can't figure out if Magento can achieve that on its own or if it will require extra code; what I need is:
1) all product detail pages to show all the color swatches
2) the result list when filtering by the color attribute (for example "whites") should show the correct color images of the individual colors, without duplicates (and not the main image for that product, which would probably be in the wrong color)
Do you have a suggestion of maybe know of a plugin to achieve this?
Thanks a lot,
Sergio
Sergio,
There are two features in particular that might help you solve your problem.
First:
Click to expand the Shopping Cart section. Then, set Configurable Product Image to one
of the following:
l Product Thumbnail Itself
l Parent Product Thumbnail
Second:
To prevent the associated products from being listed individually in the catalog, set Visibility to “Not Visible Individually.” Or in your case, you may decide to do it the other way around.
Please be aware that I was not able to get this feature to work myself.

Magento multiselect attribute behavior in layered navigation

I'm using the layered navigation of Magento to let the users select filters to determine their choice.
Because I have a large set of choices, I chose to use multiselect attributes so that the amount of attributes would be smaller.
The normal Magento behavior is as follows (i.e. shoes):
- User wants to find red and yellow shoes, using filter "Color"
- User selects "Red" and "Yellow" as filter options and that's it.
In my case, the selected options are depending on each other.
For instance when the user can filter on application.
- User wants to find a product that can be used in the kitchen and also in the living room.
When this user selects "Kitchen" and "Living room" as filter options and the possible products do not fit in a "bathroom", the filter option "Bathroom" has to disappear.
I've tried to do this using seperate select-attributes with only one option, but the amount of attributes keeps on growing and I'm losing overview while doing this.
How can I change the behavior of a multiselect attribute in Magento for the layered navigation, based on above example?
Thanks in advance.
If you want to change the behavior of layered navigation you need to rewrite the layered navigation in Block/Layer/.. and Model/Layer
You can use Mana Filters Modules that will allow you to have multiple filters from same type, then you can implement your own filter class for select( example price filter it has its own class in layered navigation ) etc .. !
http://www.manadev.com/advanced-layered-navigation-ce
There is also paid module amasty layered navigation

Brands in sub categories in Magento

I'm trying to solve a problem with the top navigation in Magento.
The top navigation I have, currently shows a top level category and it's sub categories. What I want to do is add another level underneath each sub category containing brands in that sub category as shown here (http://cl.ly/image/3A3D1i1D3j3x)
I want the brand items to be retrieved from the "brands" attribute of products in the parent sub category (Jackets etc.) rather than creating a bunch of brand sub categories in each product type sub category as that is a nightmare for administrating the system.
If anyone knows of a good extension free or paid that does this, I'm willing to go down that route too.
Thanks for the help.
I'm working on something similar right now. It's not an exact fit as it wouldn't integrate with your menu but I would recommend using Amasty's Improved Layered Navigation for this.
It allows you to add a horizontal layered navigation block and set it up so that you can filter by brand based on an attribute. You could use the default manufacturer attribute but I've found it less problematic to add a new one called Brands. The module allows you to assign images to attribute values, so you can have all the logos for your brands listed and the user can filter the products by clicking on the logo.
You can also then use the same brand images in the product list page and the product view page.
This is very easy for your client to manage, they just assign the product it's brand attribute when they create it.
Here's a screenshot of the site I'm working on so far (still not finished so some rough edges) so you can see what I mean. Just a few test products in there and I have used the vertical block rather than the horizontal one but you get the idea. The user just clicks on a logo to filter the list.
And apart from that there's lots of other handy aspects to the module, including sliders for filtering other attributes (weight, price and anything numeric).

Magento - Link attributes with sub-categories or include attribute value in navigation

I'm creating a video game ecommerce store and I need to have the navigation structured so that the navigation bar contains all the major consoles. When someone hovers over one of the console navigation links, a drop down menu appears with each genre option. For example, once you hover over Xbox 360, a drop down menu with Action, Adventure, etc. will show up.
My first thought is to create sub-categories in each major category that represent each genre. There would also be a custom attribute field for genre. I would then have to manually export the product database and fill it in for each product.
Is there an easier way to do this that I don't know about? Is it possible to have attributes as the drop-down menu links in the navigation bar?
One thing I've noticed in the Manage Attributes section is the option to Use in Layered Navigation. As far as I can tell, this links the attribute in the sidebar and not the main navigation bar.
For reference, my website is at http://allyourga.me
There is no default functionality to do what you are describing. The default Magento way to accomplish this is via subcategories. You are correct about Layered Navigation, that is a sidebar feature inside the catalog.
You could do some custom coding around showing the attributes in the dropdown menu, but the dropdown links lead to categories anyway, so you'd need to create those regardless. Another approach would be a cronjob that created the necessary categories for the products and placed them into those categories on command. You'll need to add a "console" attribute to make this work as well.
Hope that helps!
Thanks,
Joe

Magento configurable product -> floating/sliding cart

we have a pc configurator, actually its not a "configured product" but a product with "custom options".
we want to have a "cartbox" that shows the selected attributes plus price that slides with the movement of the page down untill the user has viewed all options.
any ideas?
i am pretty sure that there is no ready module.
thanx for any help
This is a theming question for the product page template, but with some frontend programming thrown in for good measure...
You have to know a little bit about Prototype to tackle this 'purely in frontend javascript' but I think it can be done.
I am assuming you have a 'div' that is styled up to be 'position: fixed' so that it always stays to the right of the screen, no matter how you scroll down the page. Then in this div is a table (or more divs) that summarises all of your options. All of those table options are marked up with ids.
In your template code for the custom product options you can have some php code to detect the attribute-set for 'custom pc' and write out some extra front-end javascript. This is then able to listen to the changes to the custom options and update your extra summary information in the fixed position div.
Unless you are really good at Prototype you may want to give yourself 2-3 days to get the code in there, the same again for testing and putting in a modest amount of products.

Resources