I'm setting up a Magento site and have some design requirements that we can't quite get right. What is the best way to setup for the website, store, store view and then the categories for the needs below?
Overview:
One domain name, one set of customers
3 similar product lines that appeal to different industries
Specific Requirements:
The home page should show static content about the company and featured products from all three main categories of products
Each main category of products should have a distinct visual design that carries through when looking at any of the products in those categories
It should be seamless for customers to move from one category of products to another and have the design change without having to choose a store from a dropdown etc.
Home Page: Design A, any and all products may show.
Category 1: Design 1, products only from cat 1 show
Category 2: Design 2, products only from cat 2 show
Category 3: Design 3, products only from cat 3 show
Every combination of websites and stores and store views that we have tried results in strange behavior like changing a store and getting "There was no Home CMS page configured or found." instead of seeing the unique design and category it should be showing. So far we can only get the designs to be different by making new CMS pages which doesn't seem practical.
This seems like something that Magento is made to do and I have to be missing something.
Thank you for any help.
-Shane
Your design needs imply work and considerations from multiple areas of configuration. I'll tackle them in turn. The tl;dr is that there may be more than one way to accomplish what you want, with the number of options at your disposal depending on your needs.
1) One domain name, one set of customers
Domain names (URLs) are configurable for all configuration scopes: Global (aka "Default"), Website, and Store (aka "Store View"). Ultimately, Magento configuration comes down to the most granular/specific scope, which is the store ("Store View") scope. If a configuration value is not specified at the store scope, its value is derived (inherited) from the website or global scope.
Customers are configured to "belong" to all websites or to an individual website (System > Configuration > Customer Configuration: Account Sharing Options). There is no out-of-box capability to restrict customers to a particular store.
2) 3 similar product lines that appeal to different industries
Depends on things discussed below.
1) The home page should show static content about the company and featured products from all three main categories of products
Assuming that you are using the standard configuration of having the Mage_Cms module serve up the home page (System > Web > Default Pages), that CMS page should be visible for all store views. CMS blocks and pages are restricted based on store. Now, later on in your post you mention that you see different behavior in the home page "instead of seeing the unique design and category it should be showing", which indicates that you would like to have different but analogous content for each store's home page. You can use one homepage to do this, but rather than specify content in the content area, you'll need to include your content by specifying a block in Layout XML Update - this block will load a particular category based on the store.
2) Each main category of products should have a distinct visual design that carries through when looking at any of the products in those categories
Establishing theme variants from global scope is possible at the website- and store-wide scopes. Theme variants can also be specified per CMS page, product, and category [each entity having a tab in its admin panel for effecting this change], with the latter having the option of "waterfalling" its custom theme settings to "child" categories and products. Which approach you take depends on your catalog hierarchy as well as the variations present in your themes.
It should be noted that if you need to present different category structure, or if you need to enable/disable products differently based on context, then you will be dealing with multiple websites. This is because category structure relies on root categories, and only websites are associated with root categories. As a reminder, "websites" in Magento have no implicit connection to distinct URLs, it's just an unfortunate naming convention for a scope level.
3) It should be seamless for customers to move from one category of products to another and have the design change without having to choose a store from a dropdown etc.
Based on this final stated requirement, and assuming that you are relying on Magento's native navigation, you are locked into one category structure, and will be using the approach of waterfalling category design, which you will set for each top-level main category under your single root using the "Custom Design" tab:
Another approach would be to create three distinct websites with distinct root categories and then build a menu by hand which links to each of the three stores, but I think this is less ideal based on your stated needs. You could also use one root category and then hide categories by website. Again, less likely that this will be appropriate for you.
Based on the information above you might end up clarifying or adding to your question. I'll update my answer in response if necessary.
Related
I have searched and searched and can’t seem to find much on this that helps me out , so I have given up and decided to post. What I am looking for is to have:
4 different web stores all with only one associated view.
The aim is that each of these different stores will be maintained by different people. The products in one store will not be viewable in another store, etc.
To top it all off I would like to have a 5th store that has the ability to show all of the products from all stores and which store they are from. eg if you browse the catalog in this store you will be shown the catalogues from all the 4 other stores combined.
I thought I had it, but I don’t seem to be able to. If someone can point me in the right direction here for how to set this up, I am open to purchasing an extension if it is required…
Any help appreciated.
Cheers,
4 different web stores all with only one associated view.
The aim is that each of these different stores will be maintained by different people. The products in one store will not be viewable in another store, etc.
You create one website then 4 stores (e.g. English, French, German, Italian) for each store you create only one store view, you define a top category (e.g. Top Category English, top Category French, etc) in each store (not store view).
See in backend System > Manage Stores.
You set your products inside of a subcategory of the top category wished. E.g. you want a product only in the French Store, you set this product in a subcategory of the Top Category French. You can set the category in the Product Edit Page, in the tab "Category" or in the Category Edit Page itself
To top it all off I would like to have a 5th store that has the ability to show all of the products from all stores and which store they are from. eg if you browse the catalog in this store you will be shown the catalogues from all the 4 other stores combined.
The only way I see now is that you have to create a 5th store with a new top category and you set all of your products into this Top category too. You will have your products for example in the Top Category English + in the Top Category 5th Store. You set the product in this 5th top category in the same way as my previous paragraph.
The drawbacks with this solution, you can only display a product in one language. It will be the default one. The products management will be difficult too if you have a big catalog.
Maybe a module exists for that but I don't think.
You have to know that the search is global and search per Website and not per store.
I'm evaluating Magento for a particular client of mine. They want to enforce a particular workflow for browsing the catalogue. They're a travel company which puts together custom holiday packages and want to make sure users enter things like the number of adults / children before selecting accommodation (as number of people will affect available accommodation and pricing).
Note that accommodation is just an example, there are several other different components to a holiday package. And they've given me a 7 step (mostly) linear workflow they want users to follow before we get to anything which might resemble a checkout process (and even then their concept of "checkout" is quite different to Magento's).
I'm thinking of storing accommodation (and each of the other package components) in separate product categories. Then I can restrict what users can see as they browse the catalogue based on what they've already added to their shopping cart.
My research indicates that Magento doesn't really do this kind of thing out of the box. Am I mistaken? Are there add-ons which would support this kind of thing?
If I was to go down this road, would I be redesigning (or indeed, replacing) a large chunk of Magento's catalogue browsing functionality?
Well there are several approaches that you can take to implement something like this; but all require that you do custom development work.
You could define your packages as simple products with attributes for each of the specific package options and use that to filter each package from the others, now you would need to create a new module that adds a route on the frontend that is going to be your multistep form that will get all the information once you have all the information you can get a collection of all the products(packages) that match those attributes.
Now the deal there is if that price changes depending on the options selected if that's the case then you might need configurable products or something custom to change the price of each package.
It's really hard to say without real specifications of what your client needs, but if the question is if it's possible with Magento then the answer is yes it all depends on your level of skill :)
Kind Regards
So I ended up going with Magento as a product base and extending it using some custom code (been a while since I've developed in a LAMP environment!)
I created a static block which is used as the root of the workflow. There are 8 steps in the workflow which get listed in an ordered list. Each item has two custom Magento widgets next to it, which are a) a little tick image displayed when you've completed the workflow stage and b) a link which displays when you're up to that stage, clicking the link takes you to an appropriate catalog page (eg: choose accommodation, hire car, confirm shopping cart, etc).
I disabled the normal top catalog navigation to encourage users to keep within the workflow. That is, the mouse over to see more catalog detail of the "holiday planner" is disabled (although you can just navigate to the correct urls if you know them, or are smart enough to use the SEO link at the bottom of the page!).
Everything in your holiday is added as cart products (which has the positive side effect of Magento will remember your holiday if you get part way through it).
There is a big state machine in a helper class to determine what stage of the workflow you're up to. This checks your cart to see if products with particular sku's or from a particular attribute set are added.
I also overrode many URLs and redirects (eg: after you add a product) to send the user back to the root holiday planner page. This added to the workflow as almost every action you did or product you add bounces you back to that workflow page (which always tells you what the next step is).
I have multi website, multi stored Magento shop, and I have a need to make some products available in one store_view, but not available in the other, where both store_views are part of the same store and website.
All my products are configurable with simple products attached to them. Only way I could think of solving this is registering a new product attribute through which I control where each product goes. That works great for the catalog and lists of products, but I have huge problems with single product view and choosing the configurable product options.
I can't seem to find where in Magento core those option are generated, so I could override that and strict some options for each store view. Basically, I need to know where is this
generated. My last resort would be managing this through AJAX, but there is already a lot of AJAX code and calls in that page that it would be confusing.
Any help or tip would be very appreciated.
I am pretty sure that the way above is not working because the attribute enable/disable product has impact at website level and not store or store view!
So if you do like tomakun says the product will be disabled at the whole website and not just for the store view you choose first!
I have the same problem that I want to assign different products all to one website but to different stores.
So far I just found the solution above to change the visibility at store view level.
But I think this not the optimal solution. It should be possible to disable a product on store level!
This feature is already available by default in Magento.
For bulk enabling/disabling products for a particular store view, do the following:
Go to your Catalog > Products
Select a store view above the product list.
You are now viewing all products included in THIS store view.
Once you have the correct store view selected, select the products you want to Enable or Disable using the checkbox on the left.
Now, using the Actions dropdown menu on top right of the product list, choose 'Change Status', select 'Disabled' or 'Enabled' and hit the Submit button.
Doing this will Enable or Disable the selected products from the selected store view (step 2). This is good for bulk actions but you can also do the same for all products one by one:
Open your product, select the relevant store view on top left of the page. Then in the General Tab, you have status: Enabled or Disabled. Choose the option that you want to apply for the current store view and hit Save.
That's it!
I'm looking for a Magento addin that replaces Related Products with Related Categories.
I maintain a Magento site which sells inspirational merchandise. People often arrive at the site and see something they like, but not completely. For example, they may see a paperweight with a quotation they like, but they want a baseball cap with the same quotation. Or, the may like the paperweight but want a different quotation on it. Products are all categorized & sub-categorized on the site, but many shoppers just hit Back if they don't see an obvious & easy way to get exactly what they want.
I want to automatically place a box on the right side of each product page (much like Related Products) which lists links to several category pages, instead of individual products (there are too many). For example, you'd have automatically-generated links like "Other products with the same quotation," "Other products with the same design," etc. I'd be OK if the categories listed were either all of the categories the product belongs to, or a list that the admin can manually create fore each product.
Also, I said category, but it'd be ok if this worked on keywords/phrases, attributes, or something like that -- whatever's out there.
Thanks!
One way that you can achieve this is to adapt your Related Products block to show only the categories of the related products that have been assigned, not the products themselves.
For instance, if you have related products of 'Apples' (in fruit), 'Bagels' (in bread) and 'Cucumbers' (in vegetables) then you need not show 'Apples/Bagels/Cucumbers' and instead you could show 'Fruit/Bread/Vegetables'.
I have not checked how you can the master category for each of the related products, you may need to add that to the collection for it to show up in the template.
The advantage of this technique is that you can theme up the related products and not have to write a complicated module.
The actual use case is similar to a multi-vendor implementation in that the store should display products from many different vendors, but each one only requires it's own landing page (not a problem), and to have some vendor attributes, like address, accessible easily from the products.
No back-end interface or access control is required for the individual vendor.
Categories with custom attributes would have worked except that then a single vendor could only exist under one category, and not several.
How feasible is it to build a new content type into the Magento system to handle this?
I'm interested to hear any ideas. Thanks!
A product can be assigned to more than one category. You could have special 'vendor' categories that list their respective products and have their "Include in menu" setting to false. It is then possible to link to their URL as a landing page without them showing the normal menu.