Skip to content

Commit ac655e8

Browse files
docs: update Apps & Extensions (#52)
* docs(payment-methods): add Stripe, Kustom guides and move PayPal to payment-methods/ New pages: - Stripe Payment user guide (embedded/hosted modes, webhooks, saved cards, refunds) - Kustom Payment user guide (KCO/HPP modes, refunds, capture) Moved: - PayPal Payment from payment/ to payment-methods/ (consolidate all payment gateway docs) * docs(developer): add saved payment methods event and update payment profiles New pages: - Saved Payment Methods Event (onJ2CommerceGetSavedPaymentMethods) developer guide Updated pages: - Payment Profiles Table (added unified tab integration section) * docs: remove PayPal from payment/ (moved to payment-methods/) * docs: update Apps & Extensions ## Summary **4 new documentation page(s)** added. ### New Pages - `website/docs-v6/apps-and-extensions/app_calculatorsortbyprice.md` - `website/docs-v6/apps-and-extensions/app_changepasswords.md` - `website/docs-v6/apps-and-extensions/app_customerbought.md` - `website/docs-v6/apps-and-extensions/app_reorder.md` ## Documentation Areas - Apps and Extensions documentation --- _Auto-generated by J2Commerce documentation sync script._
1 parent 2033437 commit ac655e8

4 files changed

Lines changed: 628 additions & 0 deletions

File tree

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
---
2+
title: "Calculator - Sort by Price"
3+
sidebar_label: "Calculator - Sort by Price"
4+
sidebar_position: 7
5+
description: "Automatically apply the lowest available price to customers based on their user group, order quantity, and date — ideal for stores with multiple price levels."
6+
---
7+
8+
# Calculator - Sort by Price
9+
10+
The Calculator - Sort by Price plugin adds an alternative pricing calculator to J2Commerce. When a product has multiple price levels set up in its **Additional Pricing** table, this calculator automatically finds and applies the **lowest matching price** for each customer based on three factors: their Joomla user group, the quantity they are ordering, and the current date.
11+
12+
This is useful for stores that offer tiered pricing, wholesale discounts, time-limited promotions, or group-specific pricing. Without this plugin, J2Commerce uses the **Standard** calculator, which only uses the base variant price.
13+
14+
## Prerequisites
15+
16+
- J2Commerce installed and enabled
17+
- At least one product with multiple price levels defined in **Additional Pricing**
18+
19+
## Installation
20+
21+
This plugin is a separate add-on available from the [J2Commerce Extensions Store](https://www.j2commerce.com). It is not included with the core J2Commerce component.
22+
23+
1. Purchase and download the `app_calculatorsortbyprice.zip` package from the J2Commerce website.
24+
2. Go to **System** -> **Install** -> **Extensions**.
25+
3. Upload the `app_calculatorsortbyprice.zip` package file.
26+
4. The plugin installs and enables automatically.
27+
28+
After installation:
29+
30+
1. Go to **J2Commerce** -> **Apps**.
31+
2. Find **Calculator - Sort by Price** in the list and confirm it shows **Enabled**.
32+
33+
<!-- SCREENSHOT: J2Commerce Apps view showing Calculator - Sort by Price enabled -->
34+
35+
## How Pricing Calculators Work
36+
37+
Every product variant in J2Commerce has a **Pricing Calculator** setting that controls how the final price is determined. By default, all products use the **Standard** calculator. Once this plugin is installed, a second option — **Sort by Price** — becomes available.
38+
39+
| Calculator | Behavior |
40+
|------------|----------|
41+
| **Standard** | Uses the base variant price only. Additional pricing rules are ignored. |
42+
| **Sort by Price** | Evaluates all additional pricing rules and selects the lowest price that matches the customer's group, quantity, and the current date. |
43+
44+
The calculator is set **per product**, so you can use Standard pricing on some products and Sort by Price on others.
45+
46+
## Setting Up a Product to Use Sort by Price
47+
48+
### Step 1: Open the Product
49+
50+
1. Go to **J2Commerce** -> **Catalog** -> **Products**.
51+
2. Click the product you want to configure.
52+
3. Select the **Price** tab.
53+
54+
<!-- SCREENSHOT: Product edit form showing the Price tab selected -->
55+
56+
### Step 2: Change the Pricing Calculator
57+
58+
1. Find the **Pricing Calculator** dropdown in the Price tab.
59+
2. Change it from **Standard** to **Sort by Price**.
60+
61+
<!-- SCREENSHOT: Pricing Calculator dropdown showing Sort by Price selected -->
62+
63+
### Step 3: Add Price Levels
64+
65+
The Sort by Price calculator only works when you have additional pricing rules defined. To add them:
66+
67+
1. In the same **Price** tab, click the **Additional Pricing** button.
68+
2. A modal window opens showing your existing price rules (if any) and a form to add new ones.
69+
3. Fill in the fields for each price level:
70+
71+
<!-- SCREENSHOT: Additional Pricing modal with sample pricing rules -->
72+
73+
| Field | Description | Example |
74+
|-------|-------------|---------|
75+
| **Quantity From** | Minimum quantity for this price to apply. Set to `0` for no minimum. | `10` |
76+
| **Quantity To** | Maximum quantity for this price to apply. Set to `0` for no maximum. | `50` |
77+
| **Date From** | Start date for this price. Leave empty for no start restriction. | `2026-01-01` |
78+
| **Date To** | End date for this price. Leave empty for no end restriction. | `2026-12-31` |
79+
| **Customer Group** | The Joomla user group this price applies to. Select **All** to apply to every customer. | `Wholesale` |
80+
| **Price** | The price amount for this rule. | `15.00` |
81+
82+
4. Click **Save** to add the rule.
83+
5. Repeat for each price level you need.
84+
6. Close the modal and click **Save** on the product.
85+
86+
## Example: Multiple Price Levels in Action
87+
88+
Suppose you sell a product with a base price of $25.00 and you set up these additional pricing rules:
89+
90+
| Rule | Quantity | Group | Price |
91+
|------|----------|-------|-------|
92+
| 1 | 1 – 9 | All | $25.00 |
93+
| 2 | 10 – 49 | All | $20.00 |
94+
| 3 | 50+ | All | $15.00 |
95+
| 4 | 1+ | Wholesale | $18.00 |
96+
97+
With the **Sort by Price** calculator, here is what each customer would pay:
98+
99+
- **A retail customer ordering 5 units:** Rule 1 matches ($25.00). Final price: **$25.00 per unit**.
100+
- **A retail customer ordering 25 units:** Rule 2 matches ($20.00). Final price: **$20.00 per unit**.
101+
- **A retail customer ordering 100 units:** Rule 3 matches ($15.00). Final price: **$15.00 per unit**.
102+
- **A wholesale customer ordering 25 units:** Rules 2 ($20.00) and 4 ($18.00) both match. The calculator picks the lowest: **$18.00 per unit**.
103+
- **A wholesale customer ordering 100 units:** Rules 3 ($15.00) and 4 ($18.00) both match. The calculator picks the lowest: **$15.00 per unit**.
104+
105+
The key behavior is that **when multiple rules match, the customer always gets the best (lowest) price**.
106+
107+
## How the Calculator Evaluates Rules
108+
109+
When a customer views or adds a product to the cart, the Sort by Price calculator:
110+
111+
1. Retrieves all additional pricing rules for that product variant.
112+
2. Filters out rules that do not match:
113+
- **Quantity:** The customer's quantity must fall within the rule's quantity range.
114+
- **Date:** Today's date must fall within the rule's date range (if one is set).
115+
- **Customer Group:** The customer must belong to the rule's user group, or the rule must be set to **All**.
116+
3. Sorts the remaining matching rules by price, lowest first.
117+
4. Applies the lowest price.
118+
119+
If no rules match, the product's base variant price is used as a fallback.
120+
121+
## Tips
122+
123+
- You do not need to create a rule that matches the base price. If no additional pricing rules match, the standard base price is used automatically.
124+
- Use date ranges for seasonal sales or limited-time promotions. The calculator will only apply those prices during the specified period.
125+
- Combine quantity tiers with group-specific pricing for maximum flexibility. The calculator will always find the best deal for the customer.
126+
- You can switch a product back to **Standard** at any time without deleting your additional pricing rules. The rules are preserved but ignored until you switch back to **Sort by Price**.
127+
128+
## Troubleshooting
129+
130+
### The product still shows the base price even though I added pricing rules
131+
132+
**Cause:** The product's Pricing Calculator is still set to **Standard**.
133+
134+
**Solution:**
135+
136+
1. Edit the product and go to the **Price** tab.
137+
2. Change the **Pricing Calculator** dropdown from **Standard** to **Sort by Price**.
138+
3. Click **Save**.
139+
140+
### A customer is not getting the expected discounted price
141+
142+
**Cause:** The customer's quantity, date, or user group may not match any of the pricing rules.
143+
144+
**Solution:**
145+
146+
1. Open the product and click **Additional Pricing** to review the rules.
147+
2. Verify that the customer's order quantity falls within the **Quantity From** and **Quantity To** range of the intended rule.
148+
3. Check that today's date is within the **Date From** and **Date To** range (if set).
149+
4. Confirm the customer belongs to the correct Joomla user group. You can check this under **Users** -> **Manage** in the Joomla admin.
150+
151+
### The plugin does not appear in the Apps list
152+
153+
**Cause:** The plugin may not be installed or discovered.
154+
155+
**Solution:**
156+
157+
1. Go to **System** -> **Manage** -> **Extensions** and search for `calculatorsortbyprice`.
158+
2. If it does not appear, go to **System** -> **Install** -> **Extensions** and re-upload the package.
159+
3. If it appears but is disabled, click the status icon to enable it.
160+
161+
## Related Topics
162+
163+
- [Product Pricing](../catalog/product-pricing.md)
164+
- [Bulk Discount](app_bulkdiscount.md)
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: "Change Password"
3+
sidebar_label: "Change Password"
4+
sidebar_position: 20
5+
description: "Allow logged-in customers to change their Joomla password directly from the J2Commerce My Profile page."
6+
---
7+
8+
# Change Password
9+
10+
The Change Password app adds a dedicated tab to the J2Commerce My Profile page on the frontend. Logged-in customers can update their Joomla account password without leaving the store — no need to visit the Joomla User Profile or reset their password by email.
11+
12+
The form validates both fields client-side and server-side, shows inline error messages for empty or mismatched passwords, and displays a confirmation message on success.
13+
14+
## Requirements
15+
16+
- PHP 8.3+
17+
- Joomla! 6.x
18+
- J2Commerce 6.x
19+
20+
## Purchase and Download
21+
22+
The **Change Password** app is a separate add-on available from the [J2Commerce Extensions Store](https://www.j2commerce.com). It is not included with the core J2Commerce 6 component.
23+
24+
**Step 1:** Go to the [J2Commerce website](https://www.j2commerce.com/) -> **Apps**.
25+
26+
**Step 2:** Locate the **Change Password** app -> click **View Details** -> **Add to cart** -> **Checkout**.
27+
28+
**Step 3:** Go to **My Downloads** under your profile menu at the top right corner and search for the app. Click **Available Versions** -> **View Files** -> **Download**.
29+
30+
## Install the App
31+
32+
In the Joomla Administrator, go to **System** -> **Install** -> **Extensions**.
33+
34+
Upload the plugin ZIP file or use the **Install from URL** option.
35+
36+
<!-- SCREENSHOT: Joomla Extensions Install screen with Upload Package File tab active -->
37+
38+
## Enable the App
39+
40+
Once installed, enable the plugin. There are two ways to access it.
41+
42+
**Option A:** Go to the **J2Commerce** icon at the top right corner -> **Apps**.
43+
44+
**Option B:** Go to **Components** on the left sidebar -> **J2Commerce** -> **Apps**.
45+
46+
<!-- SCREENSHOT: J2Commerce Apps list with Change Password plugin visible -->
47+
48+
Search for **Change Password**, click the **X** next to the plugin name, and it turns into a green checkmark. The app is now enabled.
49+
50+
<!-- SCREENSHOT: Change Password plugin row in Apps list showing enabled green checkmark -->
51+
52+
## Configure the App
53+
54+
Click on the **Change Password** title to open the plugin configuration screen.
55+
56+
<!-- SCREENSHOT: Change Password plugin configuration screen showing Plugin tab -->
57+
58+
### Plugin Tab
59+
60+
| Setting | Description | Default |
61+
|---------|-------------|---------|
62+
| **Display Quick Icon** | Show a quick icon for this app on the J2Commerce dashboard. Requires the J2Commerce Quick Icon plugin to be installed and enabled. | No |
63+
| **Quick Icon Title** | The label displayed on the quick icon. Only visible when **Display Quick Icon** is set to **Yes**. | `J2Commerce Change Password` |
64+
65+
After adjusting settings, click **Save** or **Save & Close**.
66+
67+
## How It Works
68+
69+
When a logged-in customer visits their **My Profile** page on the frontend, a **Change Password** tab appears in the profile navigation alongside any other profile tabs.
70+
71+
<!-- SCREENSHOT: Frontend My Profile page showing Change Password tab in the tab navigation -->
72+
73+
Clicking the tab reveals a simple form with two fields:
74+
75+
- **New Password** — the customer's desired new password
76+
- **Confirm Password** — must match the New Password field exactly
77+
78+
<!-- SCREENSHOT: Change Password tab content showing New Password, Confirm Password fields and the Change Password button -->
79+
80+
When the customer clicks **Change Password**:
81+
82+
1. The button shows a loading spinner while the request processes.
83+
2. If both fields pass validation, the password is updated immediately.
84+
3. A green success message appears: "Password Updated Successfully."
85+
4. The form clears so the fields are ready for another change if needed.
86+
87+
If there is a problem, inline error messages appear directly below the relevant field rather than at the top of the page, making it clear which field needs attention.
88+
89+
## Validation and Error Messages
90+
91+
| Situation | Message Shown |
92+
|-----------|---------------|
93+
| New Password field left empty | "New Password Required" |
94+
| Confirm Password field left empty | "Confirm Password Required" |
95+
| Passwords do not match | "Password Field Mismatch" |
96+
| Server-side save error | "New Password Save Problem" |
97+
| Success | "Password Updated Successfully" |
98+
99+
## Tips
100+
101+
- The tab only appears for logged-in users. Guest visitors and users who are not signed in will not see the Change Password tab.
102+
- The app uses your Joomla site's password strength and minimum length requirements — the same rules that apply when editing a user account in the Joomla Administrator.
103+
- If you enable the **Display Quick Icon** setting, the icon links directly to the plugin configuration page in the administrator, giving your staff a one-click shortcut to the app settings from the J2Commerce dashboard.
104+
105+
## Troubleshooting
106+
107+
### The Change Password Tab Does Not Appear on the My Profile Page
108+
109+
**Cause:** The plugin is not enabled, or the customer is not logged in.
110+
111+
**Solution:**
112+
113+
1. Go to **J2Commerce** -> **Apps** and verify **Change Password** has a green checkmark.
114+
2. Confirm the customer is logged into a Joomla user account on the frontend.
115+
3. If the problem persists, go to **System** -> **Manage** -> **Extensions**, search for **Change Password**, and verify the plugin status is **Enabled**.
116+
117+
<!-- SCREENSHOT: Extensions manager search result for Change Password plugin showing enabled status -->
118+
119+
### Password Change Fails with a Generic Error
120+
121+
**Cause:** A server-side error occurred during the save, such as a session timeout or a Joomla security token mismatch.
122+
123+
**Solution:**
124+
125+
1. Ask the customer to refresh the My Profile page to get a fresh session token.
126+
2. Try the password change again.
127+
3. If the error persists, check your Joomla error logs at **System** -> **System Information** -> **PHP Error Log** for details.
128+
129+
### Quick Icon Does Not Appear on the Dashboard
130+
131+
**Cause:** The J2Commerce Quick Icon plugin is not installed or not enabled, or **Display Quick Icon** is set to **No**.
132+
133+
**Solution:**
134+
135+
1. Go to **J2Commerce** -> **Apps** and confirm the **Change Password** plugin is enabled.
136+
2. Click **Change Password** to open its configuration.
137+
3. Set **Display Quick Icon** to **Yes**.
138+
4. Verify a label is entered in the **Quick Icon Title** field.
139+
5. Go to **System** -> **Manage** -> **Extensions** and search for **J2Commerce Quick Icons** — confirm it is enabled.
140+
6. Click **Save** in the Change Password configuration and reload the J2Commerce dashboard.
141+
142+
## Related Topics
143+
144+
- [Apps and Extensions Overview](./index.md)
145+
- [Address Autocomplete](./apps/app-addressautocomplete.md)

0 commit comments

Comments
 (0)