Increase product amount in shopping cart - magento

We are selling ready made packs ( total weight 18 kg ) which is include several food products. But we want to make a special thing to our customers which they should make their packs by selecting our product range.
So that, they should make first a base pack with selected products then they can multiply this package in the checkout section.
What I want to do, modify the checkout section of magento to multiply selected products with a text field and calculate total amount by button.
Like in image...
Does anybody help me to make such a thing?

Personally I would do this with frontend code, in prototype. The reason being that you will have to modify your template anyway and your customers will need javascript enabled to get to your cart anyway.
General approach is to have the onclick for your apply button take the id.value for your quantity text box and then update everything with the quantity class in the cart page. Then have this script call the same update url as the standard update quantities button.

Here is my suggestion: in your module you create an observer listening to controller_action_predispatch_checkout_cart_index. In your observer's method you can get the items in cart with $itemCollection = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();. now you just have to loop through this condition and set the quantity:
foreach ($itemCollection as $item) {
$item->setQty(here_the_integer_you_want);
}
edit: sorry, didn't read about the input and button.
For the input and button, you just have to edit the template (app/design/frontend/base/default/template/checkout/cart.phtml). Or, if you want tom make an independant extension, you could add them by an observer. Check out inchoo's post. This form you've just created will call your controller/action, where you can set the items quantity (so no need for an observer anymore), with the same technique I've put earlier.
Let me know if that's not clear.
HTH

Related

Shopify Script for Fixed Discount of a set price based on tags

Using Shopify Scripts :::
I am trying to achieve the below but getting issue. Could you please let me know how to do this.
$25 off a purchase of $125 or more from the "sale" section. These products have a tag "sale" and are also in a collection "sale" based on that tag.
Looking forward for your quick response.
Great Thanks
If you examine the documentation for Shopify Scripts you'll notice that there is no support for auditing the line item for tags. So you should try the other approach which is proven, and works well.
Look for an item with a compare at price. If you find one, then that typically means the item is on sale. So you can rig your logic to look for items with a compare at price, and if they have one, then determine if the cart has exceeded the $125 in value, and if so, apply your discount.
I can't give you the exact code as I don't know the structure of your code. But this is what you need to do.
Wherever a product can be added to the cart assign a JavaScript function to check if the product is of "Sale" collection. If yes, add an attribute cart.attributes.something.something and keep changing it as and when required.
When the checkout mechanism is present in the page, and if your conditions satisfy the Sale discount, take then to /checkout?DISCOUNT=<CODE> and click of checkout. It'll automatically apply the discount.

Magento Wholesale buying

I have this idea to make a product page that lists all the products on the site, Perhaps paginatied, and have them all have a quantity box on the right side of them.
This way, people who stock my product can go to this page, enter the quantities for all the products they need and click "Add to cart" at the top or bottom of the page.
Saving the stockist time by adding 40 of each product they want etc.
Has this been done before? Can it be done?
Of course this is possible. In terms of magento quite everything is possible. If your question "Has this been done before?" aims to an extension-suggestion. Sorry, but i don't know one.
But in simplest case a "small" custom module could do the job. Simply add a custom attribute to the categories (e.g. wholesale = yes|no), override the catalog/category/view.phtml by your module-layout-update and check this attrib within that "new" view. If it is "yes" list all products out of this category in the way described above.
Processes of "add to cart" with the right qty out of a categoryview exist already but you need to trigger them e.g. by a custom javasscript just before the page swaps. and you slightly have to mod the "add to cart" itself to prevent jumping into the cart afterwards. Its just an example, would work for non-configurable/non-optioned products at least.
If it has to be an own page listing all products of the shop, your module has to provide a bit more up front (controller, viewblock, etc.) but that more could be also helpful with implementing own logic, eg. collecting all qty in a session first and ask later for "add to cart"

How to pre-fill a shopping cart in Magento?

What's the easiest way to pre-fill a shopping cart in Magento?
There is the CartController on the Checkout route, which has an "add" method, allowing you to do stuff like:
http://<shopurl>/checkout/cart/add?product=1
But what to do when you need more items in the cart? There is an "addGroup" method, but that only takes into account previous order lines.
When digging into the Checkout/CartController/addAction, there appears to be an argument "related_product". It enables you to do this:
http://<shopurl>/checkout/cart/add?product=1&related_product=2,4
Downsides are you only get a message about the main product added, and for the related products you cannot specify quantities. Upside is, you can populate a cart like this with several items at once without even touching Magento code.
If you want to add more items of the same, just repeat the id in the array

How do I add checkboxes to Magento's "Estimate Shipping and Tax" in the cart?

So, on the cart page, my customers can view the "Estimate Shipping and Tax" area. I don't want to remove it, but I need to know a little additional information from them to properly process the shipping. For example, on a freight item, I need to know if they have a loading dock.
Currently, I do this in the checkout without any issue. I was able to check if there is a freight item, and, if so, show the checkboxes to the customer during the "Shipping Address" stage. Then, in the saveShipping function, I was able to pull in the values and pass them to the shipping charge calculation.
Well, I've got the checkboxes in the template to display in the "Estimate Shipping and Tax" when there is a freight item in the cart, but I don't know much about the coShippingMethodForm function so that I can add in the values of the checkboxes. Anyone have any idea where I should be looked for this?
Additionally, when I hit "Get estimate", the page refreshes and it removes their selections. How best can I retain their selections to repopulate the correct boxes once the page refreshes?
I think that the best way would be to write your own shipping method module. I personally would steer clear of having a checkbox added to 'Estimate shipping and taxes' instead in my module I'd output both prices with loading bay, without loading bay (just for the estimates) in checkout you can get that option from the "Shipping Address" section and pass it into you shipping module calculation this is just a little 'cleaner.'
Check out this wiki for how to write a custom shipping module http://www.magentocommerce.com/wiki/5_-_modules_and_development/shipping/create-shipping-method-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