I was responding to a post, and I saw this thread. So I thought I'd add my 2cents!
A client asked me about this, so I snuck it into my Shipping Bypass add-on for VM 1.1.0 (
http://www.southlasalle.com/forum/viewtopic.php?f=5&t=9). I strongly recommend that you upgrade to VM 1.1.2, which has an adaptation of my Shipping Bypass add-on built right in.
This is what I have in my ps_checkout.php file. I figured most people want my Shipping Bypass code, not my Shopper Group code, so my code is commented out. I have comments explaining how to enable the code. So, it does look kinda confusing.
Mine is not exactly an elegant solution. You have to know the shopper id number -- no easy drop down boxes in VM's config. And my code is ready to go for one shopper code only. So, if don't mind fishing for the id, and you need just one shopper group, then you are in luck!
My client needed free shipping for Shopper Group "8". I think that means I've "optimized the code" -- is that what it is?!!
/* ======================================================================================================================================
START: DISPLAY VM's FREE SHIPPING MODULE IF THE USER BELONGS TO SHOPPER GROUP 8 (OR WHATEVER shopper_group_id YOU SPECIFIY -BOB BLOOM
====================================================================================================================================== */
$auth = $_SESSION['auth'];
/* *************************************************************************************************
** ALERT! YOU MUST FIND THE FOLLOWING IF CONDITION NEAR HERE AND DELETE IT (OR COMMENT IT OUT) **
** IF YOU ARE COPY-PASTING CODE. THE ORIGINAL IF CONDITION IS: **
** if( $vendor_freeshipping > 0 && $vars['order_subtotal_withtax'] >= $vendor_freeshipping ) { **
*************************************************************************************************
*************************************************************************************************
** NOW, WHAT I DID WAS TURN OFF THIS OPTIONAL FEATURE, BY KEEPING THE ORIGINAL IF CONDITION **
** SO, IF YOU WANT TO ENABLE THIS FEATURE, YOU MUST COMMENT OUT THE FOLLOWING LINE **
*************************************************************************************************
** I TURNED IT OFF SO MY SHIPPING BYPASS AND PAYMENT BYPASS WORK SIMPLY BY OVERWRITING FILES **
*************************************************************************************************
** SO, IF YOU WANT TO ENABLE THIS SHOPPER GROUP FEATURE, YOU MUST COMMENT OUT THE NEXT LINE **
************************************************************************************************* */
if( $vendor_freeshipping > 0 && $vars['order_subtotal_withtax'] >= $vendor_freeshipping ) {
/* *************************************************************************************************
** THEN, YOU HAVE TO UN-COMMENT THE NEXT LINE, AND THEN SPECIFY THE APPLICABLE SHOPPER GROUP # **
************************************************************************************************* */
//if( ($vendor_freeshipping > 0 && $vars['order_subtotal_withtax'] >= $vendor_freeshipping) || ($auth['shopper_group_id'] ==

) {
/* ======================================================================================================================================
END: DISPLAY VM's FREE SHIPPING MODULE IF THE USER BELONGS TO SHOPPER GROUP 8 (OR WHATEVER shopper_group_id YOU SPECIFIY -BOB BLOOM
====================================================================================================================================== */
-Bob
P.S. My "8" turned into a happy face. If PHP would just parse happy faces, my clients would be a whole lot happier! Dear Zend...