Shipping Goal Progress Bar
Add-on ID: kv_free_shipping_progress_bar · Edition: CS-Cart & Multi-Vendor · Latest version: 1.1.1 · Compatible with: CS-Cart & Multi-Vendor 4.17.2 – 4.21.x, PHP 7.4 – 8.3 · Changelog: view
The add-on shows shoppers how much more they need to spend to unlock free shipping, a free gift or a discount, for example “You are $12.50 away from free shipping”. The bar fills as the cart grows and updates without a page reload after add to cart, quantity changes and item removal. Once the customer reaches a goal, the bar switches to a “reached” state with a short celebration animation.
Key features
Section titled “Key features”- Real goals, no double bookkeeping. In Automatic mode, the free-shipping threshold comes from your manual shipping rates (a cost range that drops to 0) and from cart promotions that grant free shipping. It is calculated for the customer’s own rate area and the vendor’s shipping methods.
- Promotion tiers. Active cart promotions with a “Subtotal ≥ X” condition (free gift, order discount, …) appear as extra goals on the same bar, with a marker for each tier.
- Manual threshold per storefront, with optional per-currency amounts (
EUR=45,GBP=40). - Placements: mini-cart dropdown, cart page, checkout (above the shipping methods), the “Added to cart” popup, the product page, a sticky top/bottom bar, and a Block Manager block you can place anywhere.
- Live AJAX updates through the CS-Cart AJAX layer (
result_ids), with a self-healing refresh for themes and add-ons that use different result IDs. - Multi-currency. Amounts are formatted with the store’s
common/price.tplin the visitor’s currency. - Multi-Vendor aware. Free shipping is shown per vendor when the cart is split across vendors.
- Accessible.
role="progressbar"witharia-valuenow/aria-valuetext, a polite live region, and support forprefers-reduced-motion. - Theme-agnostic styling. Scoped CSS, colors as CSS custom properties, admin color settings, and RTL support.
- All texts are language variables with
[amount]/[goal]placeholders.
Compatibility
Section titled “Compatibility”| CS-Cart / Multi-Vendor | 4.17.2 – 4.21.x (tested on CS-Cart 4.17.2, Multi-Vendor 4.17.2 and Multi-Vendor 4.21.2) |
| PHP | 7.2.5 – 8.3 (the code is PHP 7.4-compatible; tested with PHP 8.1 and 8.3) |
| Themes | Responsive and Bright theme, plus child themes based on Responsive |
How it works in one paragraph
Section titled “How it works in one paragraph”On every storefront render, the add-on reads the session cart and builds a list of goals. Free shipping is detected from the cart’s product groups and their shipping methods, with promotions or the manual threshold as the other sources. Promotion goals are the cart promotions that would apply if the subtotal reached their “Subtotal” condition, checked with the core promotion engine. Each goal is placed on one axis, the cart subtotal, so several goals can share a single bar. The bar markup sits in containers whose IDs match the core AJAX wildcards (cart_status*, checkout*). Core AJAX responses therefore re-render it automatically. Each storefront AJAX response also carries a cart fingerprint, and a small script refreshes any bar that is still out of date.
Documentation
Section titled “Documentation”- Installation
- Configuration
- Usage: placements, Block Manager, texts, Multi-Vendor
- Developer guide
- FAQ