diff --git a/website/docs-v6/apps-and-extensions/app_calculatorsortbyprice.md b/website/docs-v6/apps-and-extensions/app_calculatorsortbyprice.md new file mode 100644 index 00000000..4aa68509 --- /dev/null +++ b/website/docs-v6/apps-and-extensions/app_calculatorsortbyprice.md @@ -0,0 +1,164 @@ +--- +title: "Calculator - Sort by Price" +sidebar_label: "Calculator - Sort by Price" +sidebar_position: 7 +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." +--- + +# Calculator - Sort by Price + +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. + +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. + +## Prerequisites + +- J2Commerce installed and enabled +- At least one product with multiple price levels defined in **Additional Pricing** + +## Installation + +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. + +1. Purchase and download the `app_calculatorsortbyprice.zip` package from the J2Commerce website. +2. Go to **System** -> **Install** -> **Extensions**. +3. Upload the `app_calculatorsortbyprice.zip` package file. +4. The plugin installs and enables automatically. + +After installation: + +1. Go to **J2Commerce** -> **Apps**. +2. Find **Calculator - Sort by Price** in the list and confirm it shows **Enabled**. + + + +## How Pricing Calculators Work + +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. + +| Calculator | Behavior | +|------------|----------| +| **Standard** | Uses the base variant price only. Additional pricing rules are ignored. | +| **Sort by Price** | Evaluates all additional pricing rules and selects the lowest price that matches the customer's group, quantity, and the current date. | + +The calculator is set **per product**, so you can use Standard pricing on some products and Sort by Price on others. + +## Setting Up a Product to Use Sort by Price + +### Step 1: Open the Product + +1. Go to **J2Commerce** -> **Catalog** -> **Products**. +2. Click the product you want to configure. +3. Select the **Price** tab. + + + +### Step 2: Change the Pricing Calculator + +1. Find the **Pricing Calculator** dropdown in the Price tab. +2. Change it from **Standard** to **Sort by Price**. + + + +### Step 3: Add Price Levels + +The Sort by Price calculator only works when you have additional pricing rules defined. To add them: + +1. In the same **Price** tab, click the **Additional Pricing** button. +2. A modal window opens showing your existing price rules (if any) and a form to add new ones. +3. Fill in the fields for each price level: + + + +| Field | Description | Example | +|-------|-------------|---------| +| **Quantity From** | Minimum quantity for this price to apply. Set to `0` for no minimum. | `10` | +| **Quantity To** | Maximum quantity for this price to apply. Set to `0` for no maximum. | `50` | +| **Date From** | Start date for this price. Leave empty for no start restriction. | `2026-01-01` | +| **Date To** | End date for this price. Leave empty for no end restriction. | `2026-12-31` | +| **Customer Group** | The Joomla user group this price applies to. Select **All** to apply to every customer. | `Wholesale` | +| **Price** | The price amount for this rule. | `15.00` | + +4. Click **Save** to add the rule. +5. Repeat for each price level you need. +6. Close the modal and click **Save** on the product. + +## Example: Multiple Price Levels in Action + +Suppose you sell a product with a base price of $25.00 and you set up these additional pricing rules: + +| Rule | Quantity | Group | Price | +|------|----------|-------|-------| +| 1 | 1 – 9 | All | $25.00 | +| 2 | 10 – 49 | All | $20.00 | +| 3 | 50+ | All | $15.00 | +| 4 | 1+ | Wholesale | $18.00 | + +With the **Sort by Price** calculator, here is what each customer would pay: + +- **A retail customer ordering 5 units:** Rule 1 matches ($25.00). Final price: **$25.00 per unit**. +- **A retail customer ordering 25 units:** Rule 2 matches ($20.00). Final price: **$20.00 per unit**. +- **A retail customer ordering 100 units:** Rule 3 matches ($15.00). Final price: **$15.00 per unit**. +- **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**. +- **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**. + +The key behavior is that **when multiple rules match, the customer always gets the best (lowest) price**. + +## How the Calculator Evaluates Rules + +When a customer views or adds a product to the cart, the Sort by Price calculator: + +1. Retrieves all additional pricing rules for that product variant. +2. Filters out rules that do not match: + - **Quantity:** The customer's quantity must fall within the rule's quantity range. + - **Date:** Today's date must fall within the rule's date range (if one is set). + - **Customer Group:** The customer must belong to the rule's user group, or the rule must be set to **All**. +3. Sorts the remaining matching rules by price, lowest first. +4. Applies the lowest price. + +If no rules match, the product's base variant price is used as a fallback. + +## Tips + +- 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. +- Use date ranges for seasonal sales or limited-time promotions. The calculator will only apply those prices during the specified period. +- Combine quantity tiers with group-specific pricing for maximum flexibility. The calculator will always find the best deal for the customer. +- 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**. + +## Troubleshooting + +### The product still shows the base price even though I added pricing rules + +**Cause:** The product's Pricing Calculator is still set to **Standard**. + +**Solution:** + +1. Edit the product and go to the **Price** tab. +2. Change the **Pricing Calculator** dropdown from **Standard** to **Sort by Price**. +3. Click **Save**. + +### A customer is not getting the expected discounted price + +**Cause:** The customer's quantity, date, or user group may not match any of the pricing rules. + +**Solution:** + +1. Open the product and click **Additional Pricing** to review the rules. +2. Verify that the customer's order quantity falls within the **Quantity From** and **Quantity To** range of the intended rule. +3. Check that today's date is within the **Date From** and **Date To** range (if set). +4. Confirm the customer belongs to the correct Joomla user group. You can check this under **Users** -> **Manage** in the Joomla admin. + +### The plugin does not appear in the Apps list + +**Cause:** The plugin may not be installed or discovered. + +**Solution:** + +1. Go to **System** -> **Manage** -> **Extensions** and search for `calculatorsortbyprice`. +2. If it does not appear, go to **System** -> **Install** -> **Extensions** and re-upload the package. +3. If it appears but is disabled, click the status icon to enable it. + +## Related Topics + +- [Product Pricing](../catalog/product-pricing.md) +- [Bulk Discount](app_bulkdiscount.md) \ No newline at end of file diff --git a/website/docs-v6/apps-and-extensions/app_changepasswords.md b/website/docs-v6/apps-and-extensions/app_changepasswords.md new file mode 100644 index 00000000..0ed8c2cd --- /dev/null +++ b/website/docs-v6/apps-and-extensions/app_changepasswords.md @@ -0,0 +1,145 @@ +--- +title: "Change Password" +sidebar_label: "Change Password" +sidebar_position: 20 +description: "Allow logged-in customers to change their Joomla password directly from the J2Commerce My Profile page." +--- + +# Change Password + +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. + +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. + +## Requirements + +- PHP 8.3+ +- Joomla! 6.x +- J2Commerce 6.x + +## Purchase and Download + +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. + +**Step 1:** Go to the [J2Commerce website](https://www.j2commerce.com/) -> **Apps**. + +**Step 2:** Locate the **Change Password** app -> click **View Details** -> **Add to cart** -> **Checkout**. + +**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**. + +## Install the App + +In the Joomla Administrator, go to **System** -> **Install** -> **Extensions**. + +Upload the plugin ZIP file or use the **Install from URL** option. + + + +## Enable the App + +Once installed, enable the plugin. There are two ways to access it. + +**Option A:** Go to the **J2Commerce** icon at the top right corner -> **Apps**. + +**Option B:** Go to **Components** on the left sidebar -> **J2Commerce** -> **Apps**. + + + +Search for **Change Password**, click the **X** next to the plugin name, and it turns into a green checkmark. The app is now enabled. + + + +## Configure the App + +Click on the **Change Password** title to open the plugin configuration screen. + + + +### Plugin Tab + +| Setting | Description | Default | +|---------|-------------|---------| +| **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 | +| **Quick Icon Title** | The label displayed on the quick icon. Only visible when **Display Quick Icon** is set to **Yes**. | `J2Commerce Change Password` | + +After adjusting settings, click **Save** or **Save & Close**. + +## How It Works + +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. + + + +Clicking the tab reveals a simple form with two fields: + +- **New Password** — the customer's desired new password +- **Confirm Password** — must match the New Password field exactly + + + +When the customer clicks **Change Password**: + +1. The button shows a loading spinner while the request processes. +2. If both fields pass validation, the password is updated immediately. +3. A green success message appears: "Password Updated Successfully." +4. The form clears so the fields are ready for another change if needed. + +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. + +## Validation and Error Messages + +| Situation | Message Shown | +|-----------|---------------| +| New Password field left empty | "New Password Required" | +| Confirm Password field left empty | "Confirm Password Required" | +| Passwords do not match | "Password Field Mismatch" | +| Server-side save error | "New Password Save Problem" | +| Success | "Password Updated Successfully" | + +## Tips + +- The tab only appears for logged-in users. Guest visitors and users who are not signed in will not see the Change Password tab. +- 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. +- 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. + +## Troubleshooting + +### The Change Password Tab Does Not Appear on the My Profile Page + +**Cause:** The plugin is not enabled, or the customer is not logged in. + +**Solution:** + +1. Go to **J2Commerce** -> **Apps** and verify **Change Password** has a green checkmark. +2. Confirm the customer is logged into a Joomla user account on the frontend. +3. If the problem persists, go to **System** -> **Manage** -> **Extensions**, search for **Change Password**, and verify the plugin status is **Enabled**. + + + +### Password Change Fails with a Generic Error + +**Cause:** A server-side error occurred during the save, such as a session timeout or a Joomla security token mismatch. + +**Solution:** + +1. Ask the customer to refresh the My Profile page to get a fresh session token. +2. Try the password change again. +3. If the error persists, check your Joomla error logs at **System** -> **System Information** -> **PHP Error Log** for details. + +### Quick Icon Does Not Appear on the Dashboard + +**Cause:** The J2Commerce Quick Icon plugin is not installed or not enabled, or **Display Quick Icon** is set to **No**. + +**Solution:** + +1. Go to **J2Commerce** -> **Apps** and confirm the **Change Password** plugin is enabled. +2. Click **Change Password** to open its configuration. +3. Set **Display Quick Icon** to **Yes**. +4. Verify a label is entered in the **Quick Icon Title** field. +5. Go to **System** -> **Manage** -> **Extensions** and search for **J2Commerce Quick Icons** — confirm it is enabled. +6. Click **Save** in the Change Password configuration and reload the J2Commerce dashboard. + +## Related Topics + +- [Apps and Extensions Overview](./index.md) +- [Address Autocomplete](./apps/app-addressautocomplete.md) diff --git a/website/docs-v6/apps-and-extensions/app_customerbought.md b/website/docs-v6/apps-and-extensions/app_customerbought.md new file mode 100644 index 00000000..75c40d72 --- /dev/null +++ b/website/docs-v6/apps-and-extensions/app_customerbought.md @@ -0,0 +1,195 @@ +--- +title: "Customers Also Bought" +sidebar_label: "Customers Also Bought" +sidebar_position: 30 +description: "Display a curated section of associated products on your product pages so shoppers can add multiple related items to their cart in one click." +--- + +# Customers Also Bought + +The Customers Also Bought app adds a product recommendation section to your J2Commerce product detail pages. You choose which products appear for each item, customers check the ones they want, and a single button adds everything to the cart at once. The section only shows products that are currently in stock, so customers never encounter unavailable items. + +This is a practical way to increase average order value by surfacing complementary products at the exact moment a shopper is already engaged with a purchase. + +## Requirements + +- PHP 8.3+ +- Joomla! 6.x +- J2Commerce 6.x + +## Purchase and Download + +The Customers Also Bought app is a premium add-on available from the J2Commerce extension directory. + +**Step 1:** Go to the [J2Commerce website](https://www.j2commerce.com/) -> **Apps** + +**Step 2:** Locate the **Customers Also Bought** app -> click **View Details** -> **Add to cart** -> **Checkout**. + +**Step 3:** Go to **My Downloads** under your profile button at the top right corner and search for the app. Click **Available Versions** -> **View Files** -> **Download**. + +## Install the Plugin + +In the Joomla Administrator, go to **System** -> **Install** -> **Extensions**. + +Upload the plugin ZIP file or use the **Install from URL** option. + + + +## Enable the App + +Once installed, you need to enable the plugin. There are two ways to reach the Apps list. + +**Option A:** Click the **J2Commerce** icon at the top right corner -> **Apps** + +**Option B:** Go to **Components** on the left sidebar -> **J2Commerce** -> **Apps** + +Search for **Customers Also Bought**, click the status toggle (the X turns into a green checkmark) to enable it. + + + +## Configure the App + +Click on the **Customers Also Bought** title to open the plugin settings. + + + +### Plugin Tab + +The **Plugin** tab controls the global behaviour and appearance of the section across all product pages. + + + +| Setting | Description | Default | +|---------|-------------|---------| +| **Template Style** | Choose between `bootstrap5` or `uikit` to match your front-end theme | `bootstrap5` | +| **Section Title** | Heading displayed above the product row. Leave blank to use the default "Customers Also Bought" label | *(blank)* | +| **Display Position** | Where on the product page the section appears — Before Upsells, Before Cross-sells, or After Add to Cart | Before Upsells | +| **Maximum Products** | The most associated products to show at once (1–20) | `6` | +| **Show Price** | Display the price on each product card | Yes | +| **Show Discount Badge** | Show a discount percentage badge when a product has a special price | Yes | +| **Button Text** | Label for the bulk add-to-cart button. Leave blank for the default "Purchase Together" label | *(blank)* | +| **Button CSS Class** | CSS classes applied to the purchase button. Change this to match your theme's button style | `btn btn-primary` | +| **Debug Mode** | Write detailed diagnostic messages to `logs/app_customerbought.php`. Turn off in production | No | + +### Responsive Display Tab + +The **Responsive Display** tab controls how many product cards appear in each row depending on the visitor's screen width. The section uses a responsive grid that automatically switches to a Swiper.js slider when there are more products than can fit in a single row. + + + +| Setting | Screen Width | Default | +|---------|-------------|---------| +| **Cards per Row (XS)** | Below 576 px | `1` | +| **Cards per Row (SM)** | 576 px and above | `2` | +| **Cards per Row (MD)** | 768 px and above | `3` | +| **Cards per Row (LG)** | 992 px and above | `4` | +| **Cards per Row (XL)** | 1200 px and above | `4` | +| **Cards per Row (XXL)** | 1400 px and above | `5` | + +Click **Save** or **Save & Close** to apply your changes. + +## Assign Products to Each Product Page + +The global settings above apply site-wide. You then assign specific associated products to each individual product. This is done inside the product editing form. + +1. Go to **J2Commerce** -> **Catalog** -> **Products**. +2. Click on the product you want to configure. +3. Scroll down to find the **Customers Also Bought** tab in the product form. + + + +4. In the **Search Products** field, type a product name or SKU. A dropdown appears as you type (minimum 2 characters). + + + +5. Select a product from the suggestions. It is added to the table immediately with a live stock status badge — **In Stock** (green) or **Out of Stock** (amber). + + + +6. Repeat for each additional product you want to associate. +7. To remove a product, click the red **trash** icon in its row. +8. Click **Save** on the product. + +Out-of-stock products show a warning in the table to let you know they will not appear on the front end until stock is restored. + +## How It Works on the Front End + +When a shopper visits a product page where you have configured associated products: + +1. The **Customers Also Bought** section appears in the position you selected (before upsells, before cross-sells, or after the add-to-cart button). +2. The current product card appears first with its checkbox pre-checked and locked — it is always included. +3. Associated in-stock products appear alongside it, each with their own checkbox pre-checked. +4. Shoppers can uncheck any product they do not want. +5. A running total updates in real time as checkboxes are toggled. +6. Clicking **Purchase Together** (or your custom button label) adds all checked products to the cart in a single action. + + + +Products that are out of stock are filtered out automatically and never shown to shoppers. If all associated products for a given product page happen to be out of stock, the entire section is hidden. + +## Display Conditions + +The section appears on a product page only when all of the following are true: + +- The plugin is enabled. +- The current product has at least one associated product configured in its **Customers Also Bought** tab. +- At least one of those associated products is currently in stock. + +## Tips + +- Assign 4–6 complementary products per product page for the best experience. Too many choices can be overwhelming. +- Use the **Maximum Products** setting as a safety limit — if you assign 10 products but set the maximum to 6, only the first 6 eligible in-stock products are shown. +- Adjust the **Display Position** to suit your page layout. **Before Upsells** works well when upsells are visually prominent, so the "Also Bought" section leads into them naturally. +- Keep the **Button CSS Class** consistent with your theme's primary action buttons for a polished look. + +## Troubleshooting + +### The Section Does Not Appear on the Product Page + +**Cause:** One or more configuration steps have been missed. + +**Solution:** + +1. Confirm the plugin is enabled in **J2Commerce** -> **Apps**. +2. Open the product in **J2Commerce** -> **Catalog** -> **Products** and verify that at least one product has been added to the **Customers Also Bought** tab. +3. Confirm that the associated product(s) are published and in stock. Out-of-stock products are automatically hidden. +4. Check that **Display Position** in the plugin settings matches a position that your current template renders. + +### All Associated Products Show as Out of Stock in the Admin + +**Cause:** The products have stock management enabled and their availability count is zero (and backorders are not allowed). + +**Solution:** + +1. Go to **J2Commerce** -> **Catalog** -> **Products** and open each affected associated product. +2. Check the product's stock settings — either increase the stock quantity or allow backorders. +3. Alternatively, disable stock management for that product if stock tracking is not required. + +### The Purchase Together Button Does Not Add Products to the Cart + +**Cause:** A JavaScript error on the page is preventing the click handler from running. + +**Solution:** + +1. Open your browser's developer tools (F12) and check the **Console** tab for errors. +2. Clear your browser cache and reload the page. +3. Enable **Debug Mode** in the plugin settings, reproduce the issue, then check `logs/app_customerbought.php` for any server-side messages. + +### The Section Appears in the Wrong Location + +**Cause:** The **Display Position** setting does not match the desired position. + +**Solution:** + +1. Go to **J2Commerce** -> **Apps** -> **Customers Also Bought**. +2. Change **Display Position** to the desired value. +3. Click **Save**, then reload the product page to verify the new position. + +### Stock Badges Are Not Updating After Adding a Product in Admin + +**Cause:** The stock check runs via an AJAX call immediately after you select a product. A network issue or JavaScript error may have interrupted it. + +**Solution:** + +1. Save the product form and reopen it. The stock status is re-evaluated fresh each time the form loads. +2. If a product consistently fails to show a stock badge, verify the product has a master variant in the database and is published. diff --git a/website/docs-v6/apps-and-extensions/app_reorder.md b/website/docs-v6/apps-and-extensions/app_reorder.md new file mode 100644 index 00000000..8f4857d8 --- /dev/null +++ b/website/docs-v6/apps-and-extensions/app_reorder.md @@ -0,0 +1,124 @@ +--- +title: "Easy Reorder" +sidebar_label: "Easy Reorder" +sidebar_position: 14 +description: "Let customers reorder products from past orders with a single click, or retry a failed checkout without re-adding items manually." +--- + +# Easy Reorder + +The Easy Reorder plugin adds a **Reorder** button to customers' past orders so they can add all items from a previous order back into their cart with one click. It also provides an optional **Try Again** button that appears when a checkout or payment fails, letting the customer retry without starting over. + +This is especially useful for stores with repeat buyers — such as office supplies, food and beverage, or any business where customers regularly purchase the same products. + +## Prerequisites + +- J2Commerce installed and enabled +- At least one completed order in your store + +## Installation + +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. + +1. Purchase and download the `app_reorder.zip` package from the J2Commerce website. +2. Go to **System** -> **Install** -> **Extensions**. +3. Upload the `app_reorder.zip` package file. +4. The plugin installs and enables automatically. + +After installation: + +1. Go to **J2Commerce** -> **Apps**. +2. Find **Easy Reorder** in the list and confirm it shows **Enabled**. + + + +## Configuring the Plugin + +Go to **J2Commerce** -> **Apps**, then click the plugin name to open its settings. + + + +### Basic Settings + +| Setting | Description | Default | Options | +|---------|-------------|---------|---------| +| **Redirect After Reorder** | Controls where the customer is sent after clicking Reorder. **Shopping Cart** lets them review items before proceeding. **Checkout** takes them straight to the checkout page. | `Shopping Cart` | Shopping Cart / Checkout | +| **Cart Menu Item** | The Joomla menu item for the shopping cart page. Only shown when **Redirect After Reorder** is set to **Shopping Cart**. Leave blank to use Joomla's default routing. | None | Any menu item | +| **Checkout Menu Item** | The Joomla menu item for the checkout page. Only shown when **Redirect After Reorder** is set to **Checkout**. Leave blank to use Joomla's default routing. | None | Any menu item | +| **Enable Try Again** | Shows a **Try Again** button on the checkout confirmation page when a payment fails. This lets the customer retry without manually re-adding products. | No | Yes / No | + +## How It Works + +### Reordering from Order History + +1. A logged-in customer goes to their account and views their past orders. +2. On any order, they see a **Reorder** button (a circular arrow icon). +3. Clicking the button adds all items from that order back into the customer's shopping cart. +4. The customer is redirected to either the cart page or the checkout page, depending on your configuration. + + + +From the cart, the customer can adjust quantities, remove items they no longer need, or proceed directly to checkout. + +### Retrying After a Failed Payment + +When the **Enable Try Again** setting is turned on: + +1. If a customer's payment fails during checkout (for example, a declined card or a gateway timeout), the confirmation page shows a **Try Again** button instead of just an error message. +2. Clicking the button reloads all items from the failed order back into the cart. +3. The customer is redirected to the cart or checkout page to try again. + + + +This prevents the frustration of customers having to manually find and re-add all their products after a payment error. + +## Tips + +- Set the redirect to **Shopping Cart** if your customers often modify orders before repurchasing. Set it to **Checkout** if your repeat buyers typically reorder the exact same items. +- Enable the **Try Again** feature to reduce abandoned carts from payment failures. A customer who can retry with one click is far more likely to complete their purchase. +- The Reorder button respects current stock levels and pricing. If a product is out of stock or its price has changed since the original order, the cart will reflect the current state. + +## Troubleshooting + +### The Reorder button does not appear on past orders + +**Cause:** The plugin may not be enabled. + +**Solution:** + +1. Go to **J2Commerce** -> **Apps** and confirm the plugin shows **Enabled**. +2. Clear the Joomla cache: **System** -> **Clear Cache** -> **Clear All**. +3. Log in as a customer and view an order to verify the button appears. + +### Clicking Reorder does nothing or shows an error + +**Cause:** The session may have expired, causing the security token to become invalid. + +**Solution:** + +1. Ask the customer to refresh the page and try again. +2. If the issue persists, check that the J2Commerce system plugin is enabled under **System** -> **Manage** -> **Plugins**. + +### The Try Again button does not appear after a failed payment + +**Cause:** The feature is disabled by default. + +**Solution:** + +1. Go to **J2Commerce** -> **Apps** and click on **Easy Reorder**. +2. Set **Enable Try Again** to **Yes**. +3. Click **Save**. + +### The customer is redirected to the wrong page after reorder + +**Cause:** The menu item settings may not be configured, or the wrong menu item is selected. + +**Solution:** + +1. Open the plugin settings. +2. Check which **Redirect After Reorder** option is selected. +3. Set the appropriate **Cart Menu Item** or **Checkout Menu Item** to the correct page in your site's menu. + +## Related Topics + +- [Order Management](../configuration/order-management.md) \ No newline at end of file