New Zenner
- Join Date:
- Feb 2009
- Location:
- Ontario, Canada
- Posts:
- 24
- Plugin Contributions:
- 0
Minimum order for wholesale customers only.
Nicely done. Works like a charm.
Views: 15,214
New Zenner
Nicely done. Works like a charm.
Zen Follower
I'm afraid with the latest version of Dual Pricing this change is not working. Minimum order amount is being ignored completely and checkout is allowed regardless of order amount.
New Zenner
Is there any way to make it only work with one set of wholesale customers, I have 4 wholesale groups and only need it on 1???
New Zenner
I am looking for some assistance with my website. https://www.flyfishingsigns.com .
In particular, I am looking for somebody who is familiar with this Wholesale Mod.
http://www.zen-cart.com/index.php?main_page=product_contrib_info&cPath=40_61&products_id=166
I would like to utilize this site as retail and wholesale. The site works as retail until the order reaches $200. I would like to have a box in the check-out page of the site say “Attention Wholesale Customes: Once the $ total amount of your order reaches $200, these retail prices will automatically change the wholesale prices.” How do I make sure that the wholesale buyer purchases the $200 minimum order?
If you are not familiar with this mod or would like to suggest somebody who is more familiar and comfortable with this install, please forward their contact information.
Thanks,
Erik I. Pieper
307-237-3733 Office
307-259-6164 Cell
Zen Follower
Correcting my last post. The latest works, but it throws a blank checkout_shopping.php page. Any ideas?
New Zenner
This code is only for:
Minimum Amount for Wholesale Customers with Dual Pricing Module After Bug Fix Only.
Bug fix for Dual Pricing Module at page #69 http://www.zen-cart.com/forum/showthread.php?t=35450&page=69
After the bug fix, replace the code in this file:
/includes/classes/observers/class.minimum_order_amount.php
With this code:
<?php /** * class.minimum_order_amount.php * * @copyright Copyright 2005-2007 Andrew Berezin eCommerce-Service.com * @copyright Portions Copyright 2003-2006 Zen Cart Development Team * @license <http://www.zen-cart.com/license/2_0.txt> GNU Public License V2.0 * @version $Id: config.minimum_order_amount.php 1.0.1 20.09.2007 0:06 AndrewBerezin $ */ /** * Observer class used to check minimum order amount * */ class minimum_order_amount extends base { /** * constructor method * * Attaches our class to the ... and watches for 4 notifier events. */ function minimum_order_amount() { global $zco_notifier; // $_SESSION['cart']->attach($this, array('NOTIFIER_CART_GET_PRODUCTS_START', 'NOTIFIER_CART_GET_PRODUCTS_END')); $zco_notifier->attach($this, array('NOTIFY_HEADER_END_SHOPPING_CART', 'NOTIFY_HEADER_START_CHECKOUT_SHIPPING', 'NOTIFY_HEADER_START_CHECKOUT_PAYMENT', 'NOTIFY_HEADER_START_CHECKOUT_CONFIRMATION')); } /** * Update Method * * Called by observed class when any of our notifiable events occur * * @param object $class * @param string $eventID */ function update(&$class, $eventID) { global $messageStack; global $currencies; switch ($eventID) { case 'NOTIFIER_CART_GET_PRODUCTS_END': case 'NOTIFY_HEADER_END_SHOPPING_CART': if ($_SESSION['cart']->count_contents() > 0 && $_SESSION['customers_wholesale'] == 1 && MIN_ORDER_AMOUNT > 0) { if($_SESSION['cart']->show_total() < MIN_ORDER_AMOUNT) { $_SESSION['valid_to_checkout'] = false; $messageStack->add('shopping_cart', sprintf(TEXT_ORDER_UNDER_MIN_AMOUNT, $currencies->format(MIN_ORDER_AMOUNT)) . '<br />', 'caution'); } } break; case 'NOTIFY_HEADER_START_CHECKOUT_SHIPPING': case 'NOTIFY_HEADER_START_CHECKOUT_PAYMENT': case 'NOTIFY_HEADER_START_CHECKOUT_CONFIRMATION': if ($_SESSION['cart']->count_contents() > 0 && $_SESSION['customers_wholesale'] == 1 && MIN_ORDER_AMOUNT > 0) { if($_SESSION['cart']->show_total() < MIN_ORDER_AMOUNT) { zen_redirect(zen_href_link(FILENAME_SHOPPING_CART)); } } break; default: break; } } } ?>
*Note: Thanks to Marg http://www.zen-cart.com/forum/showthread.php?t=91542 for the code, i just changed "customers_whole" to "customers_wholesale" to make it work with the Dual Pricing Bug fix.
Goodluck.:bigups:
New Zenner
In addition to the previous post:
If you want to allow a few wholesale customers to purchase from your site with no minimum amount.
Go to admin controls>Customer>customer>edit which ever customer you want to allow buy wholesale without minimums and change their "Wholesale pricing level" to 2 instead of 1.
Assuming you've only set 1 level of wholesale pricing.
Note This is only for Minimum Amount for Wholesale Customers with Dual Pricing Module After Bug Fix Only.
Bug fix for Dual Pricing Module at page #69 http://www.zen-cart.com/forum/showth...=35450&page=69*
Goodluch Zenning. :smile:
Zen Follower
thank you for the update on this. I made the changes and like you say it works for wholesale customers level 1. Is there any way to make it work for customers wholesale level 2 and 3? We have minimum order amounts on each level. It would be nice if this could be applied to other wholesale levels as well.
New Zenner
Work for me too. Is there anyway to change it to minimum quantity per product?
Zen Follower
Has anyone got this wholesale minimum order to work alongside the minimum order for retail?
I am needing both wholesale and retail minimum first orders and minimum orders after that.
Does anyone have any suggestions? :unsure:
Totally Zenned
Just to chime in and hopefully help someone else on the thread; the best way is to use 'not equal to' instead, so you can catch all the higher level of wholesale customers too (not just the 1st level). Also notice singular 'customer_whole' (that may be different depending on your Dual Pricing version).
if ($_SESSION['cart']->count_contents() > 0 && $_SESSION['customer_whole'] != 0 && MIN_ORDER_AMOUNT > 0)
Zen Follower
Hello,
I am reading this post and I have installed the php as suggested. I now have box in my product box a product quantity add minimum unit mix yes or no. I have yes on and I have in wholesale prices the price. I have tried all the boxes relating to product min amount etc. In the main web (retail) the box shows in the catalog either with 1 if I set 1 or 5 if I set 5 to these figures. How do I work this script should I have to change something in the script?
Any help is greatly appreciated as I just can't figure it out.
Thanks
Ron
Totally Zenned
Hi Ron,
Please let us know the following to help you troubleshoot:
Zen Follower
Hello,
My website is https://www.stuffwholesale.com I have install this code and have not modified it.
My zencart store is on V1.50 and I am using dual pricing 2.1
Code:
/includes/classes/observers/class.minimum_order_amount.php
<?php /** * class.minimum_order_amount.php * * @copyright Copyright 2005-2007 Andrew Berezin eCommerce-Service.com * @copyright Portions Copyright 2003-2006 Zen Cart Development Team * @license <http://www.zen-cart.com/license/2_0.txt> GNU Public License V2.0 * @version $Id: config.minimum_order_amount.php 1.0.1 20.09.2007 0:06 AndrewBerezin $ */ /** * Observer class used to check minimum order amount * */ class minimum_order_amount extends base { /** * constructor method * * Attaches our class to the ... and watches for 4 notifier events. */ function minimum_order_amount() { global $zco_notifier; // $_SESSION['cart']->attach($this, array('NOTIFIER_CART_GET_PRODUCTS_START', 'NOTIFIER_CART_GET_PRODUCTS_END')); $zco_notifier->attach($this, array('NOTIFY_HEADER_END_SHOPPING_CART', 'NOTIFY_HEADER_START_CHECKOUT_SHIPPING', 'NOTIFY_HEADER_START_CHECKOUT_PAYMENT', 'NOTIFY_HEADER_START_CHECKOUT_CONFIRMATION')); } /** * Update Method * * Called by observed class when any of our notifiable events occur * * @param object $class * @param string $eventID */ function update(&$class, $eventID) { global $messageStack; global $currencies; switch ($eventID) { case 'NOTIFIER_CART_GET_PRODUCTS_END': case 'NOTIFY_HEADER_END_SHOPPING_CART': if ($_SESSION['cart']->count_contents() > 0 && $_SESSION['customers_wholesale'] == 1 && MIN_ORDER_AMOUNT > 0) { if($_SESSION['cart']->show_total() < MIN_ORDER_AMOUNT) { $_SESSION['valid_to_checkout'] = false; $messageStack->add('shopping_cart', sprintf(TEXT_ORDER_UNDER_MIN_AMOUNT, $currencies->format(MIN_ORDER_AMOUNT)) . '<br />', 'caution'); } } break; case 'NOTIFY_HEADER_START_CHECKOUT_SHIPPING': case 'NOTIFY_HEADER_START_CHECKOUT_PAYMENT': case 'NOTIFY_HEADER_START_CHECKOUT_CONFIRMATION': if ($_SESSION['cart']->count_contents() > 0 && $_SESSION['customers_wholesale'] == 1 && MIN_ORDER_AMOUNT > 0) { if($_SESSION['cart']->show_total() < MIN_ORDER_AMOUNT) { zen_redirect(zen_href_link(FILENAME_SHOPPING_CART)); } } break; default: break; } } } ?>
Totally Zenned
I can't seem to find a product with multiple prices/attributes, or a minimum order amount in the cart. Can you provide a link directly to an affected product, and explain exactly what you would like it to do?
Zen Follower
Here is the link > http://stuffwholesale.com/store3/android-phones-smart-phones/large-screen-android-phones/quad-core-5-inch-android-4-2-phone-thl-w8-16gb-internal-memory-1920x1080p-fhd-ips-screen-440ppi-black
You will need to login use my login "stuffwholesale###################### pass 6KAN95k" This is my wholesale account level in dual pricing. You will see that the minimum quantity is on both pages 5 I want it to be 1 on the retail page then when you log in wholesale you would get your appropriate pricing but have to order the minimum of 5. Thanks for your help.
Totally Zenned
Ah, I see what you mean now. There is no built-in functionality to Dual Pricing or to the Minimum Order, to make wholesalers purchase a minimum quantity of a product. This Minimum Order applies to dollar amounts for the total order. I recommend you hire a skilled developer to build a Wholesale Minimum Quantity feature for you. Here's a link to the developer listings: http://www.zen-cart.com/forumdisplay.php?162-Find-Experienced-Zen-Cart-Contractors
Zen Follower
Thanks very much for your help, I have contacted a person, do you do this work?
New Zenner
RonGin:
Thanks very much for your help, I have contacted a person, do you do this work?
Hi, Can anyone advise me please! https://www.ew-trading.com
Have today installed dual pricing as want to separate retail and wholesale sections - all fine. Installed Minimum order module and all ok but seems to be an issue with the auto_loaders/config.minimum_order_amount.php, was showing blank sceens and trial and error leaves me with this file removed so site can function, and as such, module isn't working... all other files ok but each time I try and load this I get blank screens. Any advice?? Using 1.3.9 zencart.
Thanks!
New Zenner
<?php /** * class.minimum_order_amount.php * * @copyright Copyright 2005-2007 Andrew Berezin eCommerce-Service.com * @copyright Portions Copyright 2003-2006 Zen Cart Development Team * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0 * @version $Id: config.minimum_order_amount.php 1.0.1 20.09.2007 0:06 AndrewBerezin $ */ /** * Observer class used to check minimum order amount * */ class minimum_order_amount extends base { /** * constructor method * * Attaches our class to the ... and watches for 4 notifier events. */ function minimum_order_amount() { global $zco_notifier; // $_SESSION['cart']->attach($this, array('NOTIFIER_CART_GET_PRODUCTS_START', 'NOTIFIER_CART_GET_PRODUCTS_END')); $zco_notifier->attach($this, array('NOTIFY_HEADER_END_SHOPPING_CART', 'NOTIFY_HEADER_START_CHECKOUT_SHIPPING', 'NOTIFY_HEADER_START_CHECKOUT_PAYMENT', 'NOTIFY_HEADER_START_CHECKOUT_CONFIRMATION')); } /** * Update Method * * Called by observed class when any of our notifiable events occur * * @param object $class * @param string $eventID */ function update(&$class, $eventID) { global $messageStack; global $currencies; switch ($eventID) { case 'NOTIFIER_CART_GET_PRODUCTS_END': case 'NOTIFY_HEADER_END_SHOPPING_CART': if (isset($_SESSION['customer_id']) and $_SESSION['customer_id'] != '') { if ($_SESSION['customer_whole'] != '' > 0) { if ($_SESSION['cart']->count_contents() > 0 && MIN_ORDER_AMOUNT > 0) { if($_SESSION['cart']->show_total() < MIN_ORDER_AMOUNT) { $_SESSION['valid_to_checkout'] = false; $messageStack->add('shopping_cart', sprintf(TEXT_ORDER_UNDER_MIN_AMOUNT, $currencies->format(MIN_ORDER_AMOUNT)) . '<br />', 'caution'); } } } } break; case 'NOTIFY_HEADER_START_CHECKOUT_SHIPPING': case 'NOTIFY_HEADER_START_CHECKOUT_PAYMENT': case 'NOTIFY_HEADER_START_CHECKOUT_CONFIRMATION': if (isset($_SESSION['customer_id']) and $_SESSION['customer_id'] != '') { if ($_SESSION['customer_whole'] != '' > 0) { if ($_SESSION['cart']->count_contents() > 0 && MIN_ORDER_AMOUNT > 0) { if($_SESSION['cart']->show_total() < MIN_ORDER_AMOUNT) { zen_redirect(zen_href_link(FILENAME_SHOPPING_CART)); } } } } break; default: break; } } } ?>bumpspt:
Let's try to make that last post a little easier to use....
im not sure where this code can work on 1.5.5f for minimum order.
my website not using minimum order, instead using minimum quantity.
i just straightly use your code and do some changes from order to quantity.
works like charm! thanks bro.
zc 1.5.5f
Tell staff why this post should be reviewed.