This is very common question asked in multiple Magento forums, but rarely answered or properly answered. With this expectation that may be I'm lucky and some one will show me the right way to achieve the following requirements -

1. Need a popup on startup of web site, allowing user to select his/her State 
   and City (India Only).

2. Display products and their respective prices ONLY from selected state-city by 

3. If user want then they can able to change their city from dropdown at the top
   left corner of the every page

I have 2-3 ideas for achieving my requirement, as a new to Magento may be my ideas are not feasible or viable, so I need suggestions /advises / guidance

Idea 1. Creating Multi View Store

Idea 2. Creating Category Structure like this:
        State->City->Product_Category->Product->Sub_Product(if any) and then  
        fetch state and cities to popup where both he value will be in drop down 
        from where where user will select state and city, finally depending on 
        the selections product and price attribute will filtered and displayed.

Idea 3. Adding custom attribute for all the cities like this- key->City_State,
        value->Kolkata(WB) for each product, means suppose there are total 100
        cities from all states, and 100 products, this means 100x100 records.

Idea 4. Make the products configurable where, city is one of the configurable  

Now I request you all Magento experts to tell me whether my ideas are correct or garbage. Which one is the best and easy to implement for my situation, obviously also keep Performance of the site in mind.

For better understanding of requirement, may these 2 sites help. http://bigbasket.com/ and http://www.naturesbasket.co.in/

Waiting for expert views.

Thank you all for participation.

1 Answer 1


We can share our own experience.

In our case we solved the problem by creating areas for products with certain conditions. At the log in user should select an address (country and region in this case) and then users’ product and category collections are filtered by a connection which is stored in separate the tables based on the selected address. Separate products, categories, countries and regions can be selected for each zone. It will cause slow loading of pages with products and categories, but fully meet the requirements.

In your case if you plan to work across the whole India with a possibility to choose a city, from our point of view the right solution is to create a separate Store Views for each region with a categories by city (if you plan to cover a significant number of cities). This is a simple way to achieve the desired result without extra cost.

If you have enough resources, you can write a module that targets this product/region and product/city to filter products. Also, you can search for modules allowing to realize your idea and add some features if it not fully meet your requirements. This way requires some spendings. You can look this module for example.

General advice. If you plan to realize your system with a single Magento install, you should know that each additional collection filter slows down your store. If you are planning to sell a significant number of products (over 50 thousand), it may be wise to create a number of separate stores for different regions and spread them across various servers.

Update (04.14). If you are sure that the number of products won’t exceed approximately 10 thousands, then you can use our first suggestion. Keep in mind to limit zone to 1 store (1 Store View). Development of such a solution for your store won’t take long and you’ll be able to fully control the result.

  • Thanx a lot buddy, at least I thing this is first reply I got covering all most areas of the situation. I will definitely again give a thought on Multi Store, but I would like to say maximum number of products will be approx 10 thousand.
    – Amit Deb
    Commented Apr 13, 2016 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.