Selectable categories and products in magento admin - magento

Goal
I am upgrading a custom in-house module for magento EE. The module groups clients together and has special rules that can be applied to the group or individuals of the group. I need to add an extra tab that allows, on a per group basis, to select items and/or categories. When they are selected people within this group will not be allowed to see those categories or products.
What I have
I have the the tab created and I know what I need to do on the front-end to achieve my goals. The issue is creating the selector. I have played with it for a couple hours and made no real headway as of yet. I have only been doing magento development for the past 5 weeks, so I am very new to this framework.
What I need help with
I would like to select the categories and items in the same fashion as when you go to Catalog->Categories->Manage Categories. The left column has a tiered list. I would like to have one like this but with check boxes for selection. When looking at Promotions->shopping cart rules->actions(tab), select a rule, choose the actions tab. In the second fieldset, if you add a new rule 'category' and then select the icon for the tiered tree that is exactly what I want. Same idea for products, its okay if the look is different. Just need to be able to do it both ways.
I need to be able to store the selected values, and retrieve them (easy once I know how to store them).
Please provide any code, guidance, or links to tutorials which are in the ball park. It would be much appreciated. I'm sure the generic option of being able to select things in this manner would be helpful to all.

Related

Magento: Different sizes and colors under one simple product?

I’m setting up an online clothing store and have come across a huge problem:
When I make at product (a t-shirt for example), I want to be able to add the available sizes and colors, without having to create a product for every single option.
When I add a color or size, I need to be able to enter a SKU for each product, so I can tell which option the customer chose in the store. First I tried making 2 sets of attributes: “Color” and “Size”, so I could multi-select when adding a product. But the attributes didn’t show up as options in the store, as I had hoped.
I did a lot of searching, and found that some people used the “Costom Option” tab, to make fields for the available sizes, colors etc. - but I don’t want add those options every time I add a product. The multi-select feature I accomplished with the attributes, would have been perfect.
Also I found that someone was forced to pay for an extension to accomplish this - but as I am running on a very tight budget, so I really don’t want to pay anything to achieve this.
You can achieve this programmatically, observing the product save and generate all simple products of a configurable product. Unfortunately, you will have to manage stock for those items separately.
You can do this by creating a configurable products. For more information on how to create configurable products please refer to http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-a-configurable-product. You can refer to http://www.srota.co for an example.

what type of products should be used to achieve the below mentioned functionality in magento?

I want to implement the functionality in magento, the link of this is below :
http://ledflashingwatch.com/clocker-watch-illuminati-series/
when you click on strips, it changes strips image but when click on dial, it changes separately. And also add to cart will differentiate the product on these two values.
Can anyone advise me on how to proceed towards approaching this idea. And which type of products to use for this.
You can ask me questions if it's still not clear to you. And do tell me if it is not possible.
This feature is not available in Magento out of the box.
There are several possible approaches, but the user interface component will have to be custom built by you.
If you want the selected products to appear separately in the cart (like in the example you linked) choose simple products.
You could also use a grouped product with a custom interface.
If you want them to be added to the cart as a single product, but internally they are separate, use a configurable product. This is the option I personally would prefer.
You could also use a bundled product - It all depends what exactly you need.
I suggest first getting a good idea of the differences between the product types. Then study how they are reflected in the quote as quote items, i.e. visibility, parent and child items etc.
Once you know that, the implementation will be rather straight forward.
Build the UI. Build the request parameters for the add to cart call. Done.

Magento custom browse catalogue workflow

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).

Magento addin for Related Categories, similar to Related Products

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.

Using one stock for multiple items in Magento

Ok so what I want is to have multiple simple products draw from the same stock.
Scenario
I have a sinle nail file (Stock:500)
I have a box of nail files (50/box)
I want it so that if someone buys a box then it deducts from the 500 stock of the singles. Essentially what we do is if someone buys a box, then we ship them 50 of the single files in a box.
Any easy way to do this?
This isn't a native function of Magento, so there a few approaches you can take to emulate it:
Use an external stock management package to keep track of stock and modify Magento to use that. This will require more backend modification.
Attempt to fool Magento by using product bundles in clever ways. This will require more frontend modification
Develop or find a Bill of Materials plugin for Magento. I didn't see anything after a short search, so you may have to build it. Have that module check the constituent materials for a product before allowing it to be added to the cart.
Hope that helps!
Thanks,
Joe
Consider:
Create a template for the products that you wish to order this way. This template need only be the files you need to modify, by default it will find the missing files from your default theme;
In the template you can place some PHP to write out some extra javascript, of the prototype variety;
This frontend code hides the real quantity box, with prototype 'hide' for the relevant css id to make it a hidden form field;
The code shows its own quantity box, also an extra field for how many of the fifty packs are required;
An onchange event on these boxes gets the values of the boxes, does the required multiplication and addition, then updates the hidden 'real' quantity box with (boxes*50)+singles;
On submit the customer sees in the cart the total quantity of the product ordered - this will be total units, not broken down 'per box'. If this is a problem, you can put some words to explain that or modify your main template to handle this and present to the customer the boxes+singles breakdown;
Set your products to use the 'new theme' that has your template update code.
Test, test, test!
As mentioned by Joseph this cannot be done out of the box. The above workaround is only partial, however, so long as you make it clear to customers that they are buying 500 units instead of 500 boxes then you should have a reasonable solution.

Resources