Product Linker For WHMCS
(→Common Problems) |
|||
(52 intermediate revisions by 6 users not shown) | |||
Line 4: | Line 4: | ||
=About [https://www.modulesgarden.com/products/whmcs/product-linker Product Linker For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/product-linker Product Linker For WHMCS]= | ||
{| | {| | ||
− | |style="padding: 10px 0px 5px 0px;"|'''Product Linker For WHMCS''' | + | |style="padding: 10px 0px 5px 0px;"|'''Product Linker For WHMCS''' enables you to establish dynamic connections between products, addons, and configurable options.<br/> This facilitates bundled purchases for customers, supported by flexible discounts.<br/> |
− | + | The module also provides an intuitive interface for viewing, filtering, and managing existing product associations, giving you full control over the active connections used by your clients. | |
− | + | ||
|} | |} | ||
− | |||
*'''Automation Features:''' | *'''Automation Features:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Handle Dependencies Between Module Actions | + | |style="padding: 10px 0px 0px 30px;"|✔ Handle Dependencies Between Module Actions: |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ Each Create/Terminate/Suspend/Unsuspend Action Performed On Main Product Triggers Such Action On Child Products |
|} | |} | ||
{| | {| | ||
Line 21: | Line 19: | ||
*'''Admin Area Features:''' | *'''Admin Area Features:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Define Relations Between Chosen | + | |style="padding: 10px 0px 0px 30px;"|✔ Define Relations Between Chosen Products And: |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ Product Addons |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ Configurable Options |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ Linked Products |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 30px;"|✔ View | + | |style="padding: 0px 0px 0px 30px;"|✔ Define If Product Addon Price Should Be Switched With Linked Product Price |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Copy Custom Fields Between Configured Relations | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Assign Custom Promo Codes To Relations: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Select Discount Priority | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Define Minimum Discount Amount | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View, Filter And Delete Existing Connections Between Linked Products | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Enable Related Products Notices In Client Cart | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View Product Upgrades/Downgrades Tasks Queue | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Customize Module Language Files With "Translations" Tool | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 30px;"|✔ View And Manage Logs | ||
|} | |} | ||
*'''Client Area Features:''' | *'''Client Area Features:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ | + | |style="padding: 10px 0px 0px 30px;"|✔ Purchase Multiple Products, Addons And Configurable Options By Ordering Just One |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 30px;"|✔ View Linked Product Added To Order | + | |style="padding: 0px 0px 10px 30px;"|✔ View Linked Product Added To Order After Relation Is Triggered |
|} | |} | ||
*'''General Info:''' | *'''General Info:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 10px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/cpanel-manage2 cPanel Manage2 For WHMCS] - Easy Reselling Of cPanel Licenses |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/directadmin-licenses DirectAdmin Licenses For WHMCS] - Easy Reselling Of DirectAdmin Licenses |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/plesk-key-administrator Plesk Key Administrator For WHMCS] - Easy Reselling Of Plesk Licenses |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support | + | |style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support With Custom Translations Tool |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 8.1 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One" |
|} | |} | ||
− | |||
− | |||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.11 Back To WHMCS V8.8 |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V13 Or Later |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/product-linker#open-source-version Open Source Version] |
+ | |} | ||
+ | |||
+ | =Installation= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install [https://www.modulesgarden.com/products/whmcs/product-linker Product Linker For WHMCS.]''' <br /> | ||
+ | We will guide you step by step through the whole installation and configuration process. <br /> | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 20px 0px 20px 15px;"|'''1. Log in to our client area and download the module.''' |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_0.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''3. Extract the | + | |style="padding: 0px 0px 15px 15px;"|'''3. Extract the package and upload its content into the main WHMCS directory. |
− | The content of | + | The content of the package to upload should look like this. |
|} | |} | ||
{| | {| | ||
Line 90: | Line 117: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Product Linker For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''4. When you install Product Linker For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br /> | ||
− | + | The file is located in '' 'modules/addons/ProductLinker/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit | + | |style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' file.' '' '''<br /> |
− | Enter your license key between quotation marks as presented on the following screen. You can find your license key in | + | Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → '' 'My Products'. '' |
|} | |} | ||
{| | {| | ||
Line 104: | Line 131: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br /> | ||
− | Log in to your WHMCS admin area. Go to '' ' | + | Log in to your WHMCS admin area. Go to '' 'System Settings' '' → '' 'Addon Modules'. '' Afterward, find '' 'Product Linker' '' and press the '' 'Activate' '' button. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_3.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''7. In the next step, you need to permit access to this module.'''<br /> |
− | To do so, click on '' 'Configure' '' button, select administrator groups | + | To do so, click on the '' 'Configure' '' button, select administrator groups that should have access to this addon and press '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_4.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''8. | + | |style="padding: 0px 0px 15px 15px;"|'''8. Optionally, set up a cron job, that automatically terminates linked products when the main product is upgraded/downgraded.'''<br/> 5-minute interval is recommended, the cron can be run as often as every minute, but at the cost of increased WHMCS server load. |
− | + | php -q /your_WHMCS/modules/addons/ProductLinker/cron/cron.php queue | |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
Line 128: | Line 152: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_5.png]] |
|} | |} | ||
Line 135: | Line 159: | ||
|style="padding: 10px 0px 30px 15px;"|'''Product Linker For WHMCS allows to sell bundles of products through ordering one product with specific product addons and configurable options.'''<br /> | |style="padding: 10px 0px 30px 15px;"|'''Product Linker For WHMCS allows to sell bundles of products through ordering one product with specific product addons and configurable options.'''<br /> | ||
It also automatically forwards basic commands from the main product to all child products.<br /> | It also automatically forwards basic commands from the main product to all child products.<br /> | ||
− | You can define | + | You can define the relationship between products through a product add-on or configurable option. |
|} | |} | ||
==Basic Relations== | ==Basic Relations== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 15px 15px;"|At the '' 'Basic Relations' '' tab you can define links between products through product addons and configurable options.<br /> |
− | They will be triggered | + | They will be triggered once your client makes an order for a product with the product addon/configurable option chosen at the relation.<br /> |
− | Additionally, you can define a | + | Additionally, you can define a discount added to the order by triggering the relation.<br/> |
+ | To add a new relation, go to '' 'Relations' '' → '' 'Basic Relations' '' and click on '' 'Add Relation'.'' | ||
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_6.png]] |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|To set up a relation:<br/> |
+ | *'''Type''' - Choose a relation type from the '' 'Type' '' dropdown menu, selecting either a relation triggered by a product addon or a configurable option. | ||
+ | *'''Addon/Configurable Option''' - Select a product addon or configurable option that will trigger the relation. | ||
+ | *'''Swap Price''' - If you select the '' 'Addon' '' type, you can also enable the '' 'Swap Price' '' option, which will overwrite the price of the linked product with the addon price. | ||
+ | *'''Configurable Option Value''' - if you choose the '' 'Configurable Option' '' relation type, you must also select a specific configurable option. | ||
+ | *'''Linked Product''' - select a child product that will be linked after the relation is triggered. This product should be set to 'hidden' and 'free'. | ||
+ | *'''Promotion''' - optionally, choose a discount that will be added to the order.<br/>'''''Note:''' Keep in mind that only one discount can be assigned to an order, and you can manage discount assignments on the 'Settings' page.'' | ||
+ | *'''Copy Custom Fields''' - decide if you want Custom Fields copied from the main product to the linked product.<br/>'''''Note:''' The Custom Fields are copied from the main product, '''not from the addon.''''' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_7.png]] |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 15px;"|Added relations can be edited or deleted by using the relative action buttons. |
|} | |} | ||
{| | {| | ||
− | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_8.png]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |
|} | |} | ||
− | == | + | ==Product Relations== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"| | + | |style="padding: 10px 0px 15px 15px;"|At the '' 'Product Relations' '' tab you can set up a relation linking one product with another.<br /> |
− | + | To create a new configuration simply click on the '' 'Add Relation' '' button. | |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_9.png]] |
|} | |} | ||
− | |||
− | |||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 15px 15px;"|Provide the following information to create the relation: |
− | + | *'''Main Product''' - choose a product from the 'Main Product' dropdown menu to trigger the relation. | |
− | + | *'''Linked Product''' - select a product from the 'Linked Product' dropdown menu that will be added when the relation is triggered. This product should be set to 'hidden' and 'free'. | |
+ | *'''Promotion''' - optionally, assign a promotion. | ||
+ | *'''Configurable Option Groups''' - select configurable options to transfer values for.<br/>'''''Note:''' Configurable option copying can only be enabled if the configurable option is assigned to both the parent and child products.'' | ||
+ | *'''Copy Custom Fields''' - decide if you want Custom Fields copied from the main product to the linked product. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_10.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 20px 15px;"|Created product relations can be edited or deleted by clicking on the respective action buttons. |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_11.png]] |
|} | |} | ||
Line 198: | Line 220: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|'' 'Existing Connections' '' tab allows you to view the list of all products ordered by your clients for which relations exist.<br /> | |style="padding: 10px 0px 15px 15px;"|'' 'Existing Connections' '' tab allows you to view the list of all products ordered by your clients for which relations exist.<br /> | ||
− | You can find all information about | + | You can find all the information about a relation, like the main product, linked product, their owner, or domain used by both products.<br/> |
− | + | If a need arises, you can also delete a connection and optionally terminate the linked product.<br/> | |
+ | '''''Note:''' Keep in mind that 'Suspend', 'Unsuspend' and 'Terminate' actions performed on the Main Product will be reflected on the Linked Product.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_12.png]] |
|} | |} | ||
+ | |||
+ | ==Settings== | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 15px 15px;"|Due to the assignment of promotions to the relation, a situation may occur where multiple promotions will be assigned to one order.<br/> WHMCS does not support such a situation, therefore only one promotion has to be chosen. |
− | + | *'''Highest Discount''' - the promotion giving the highest discount to your clients will be chosen in the order form. | |
+ | *'''Lowest Discount''' - the promotion giving the lowest discount to your clients will be chosen in the order form. | ||
+ | *'''Minimum Reduction Amount''' - if the 'Lowest Discount' is selected, provide the lowest reduction value ''(order subtotal * promotion rate)'' that can be used.<br/> If the promotion value is below the limit, a higher discount will be applied until the provided amount is met or exceeded. | ||
+ | *'''Display Product Info''' - information about the linked product will be visible on the order form when this option is enabled. | ||
+ | <br/> | ||
+ | '''Minimum Reduction Amount Example:''' | ||
+ | <pre> | ||
+ | Client's order qualifies for 3 discounts: 20%, 50% and 80% | ||
+ | We have set the Discount Priority to 'Lowest Discount' | ||
+ | The Minimum Reduction Amount is set to '10' | ||
+ | |||
+ | The order subtotal is '36.39' | ||
+ | The reduction is calculated: | ||
+ | 36.39 * 20% = 7.28 | ||
+ | 36.39 * 50% = 18.20 | ||
+ | 36.39 * 80% = 29.11 | ||
+ | |||
+ | Since the calculation with the lowest discount did not exceed the 'Minimum Reduction Amount', the next discount (50%) is applied as it does exceed the minimum. | ||
+ | </pre> | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_13.png]] |
|} | |} | ||
+ | |||
+ | ==Queue== | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 15px 15px;"|The '' 'Queue' '' section is designed to handle product upgrades and downgrades for products that have a relation established.<br/> |
− | + | The cron will automatically create tasks to terminate linked products after upgrade/downgrade of the main product.<br/> | |
+ | If you allow your clients to upgrade/downgrade products that you have created relations for, it is recommended to run a dedicated cron job every 5 minutes: | ||
+ | php -q /your_WHMCS/modules/addons/ProductLinker/cron/cron.php queue | ||
+ | The table below the cron job information will allow you to see the status of each task, see its details, run it manually, or delete it. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_12_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 15px;"|You can delete multiple tasks at once by using the mass action function. |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_12_2.png]] |
|} | |} | ||
− | |||
− | |||
{| | {| | ||
− | |style="padding: | + | |style="padding: 0px 0px 20px 15px;"|Additional actions include the auto prune system and the ability to hide the cron information. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_12_3.png]] |
|} | |} | ||
+ | |||
+ | ==[https://www.docs.modulesgarden.com/Translations_Tool Translations]== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|Customizing language files is now extremely easy with the '' "Translations" '' tool that is now available directly in the addon.<br.> Its user-friendly design makes managing various language file tweaks a smooth and efficient process. <br/> |
− | + | Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it [https://www.docs.modulesgarden.com/Translations_Tool here]. | |
− | + | |} | |
− | + | {| | |
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_13_1.png]] | ||
|} | |} | ||
− | == | + | ==Logs== |
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|The '' 'Logs' '' page stores the history of actions performed by the module.<br/> |
− | + | Use the action buttons to see details or delete each log entry. Multiple logs can be deleted at once by utilizing the mass selection function. | |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_14.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"| | + | |style="padding: 0px 0px 20px 15px;"|Furthermore, the logs feature additional actions. Changing the logs' settings, exporting the logs to a '' '.csv' '' file, and a way to delete specific log types. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_15.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|In the settings you can specify which log types should be recorded, and whether they should be deleted automatically after a specific time. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_16.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|While exporting you will pick a time frame and the log types to export. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_17.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Here you can decide which log types to delete, you can also specify how old the logs have to be to qualify for deletion. Leave the first field empty to delete all logs. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_18.png]] | ||
|} | |} | ||
− | = | + | =Client Area= |
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|When the client orders a product with a relation created for it, the relation will be displayed on the order form, provided the option is enabled in the addon's settings.<br/> |
− | + | If included in the relations, promotions will be applied based on the settings. | |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In these steps we will show you how to link cPanel Manage2 with cPanel Extended through the product addon.<br /> | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_19.png]] |
+ | |} | ||
+ | |||
+ | =Use Cases= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''This section provides scenarios that demonstrate common use cases, along with detailed explanations of how the module’s features can be utilized in real-world situations. '''<br/> | ||
+ | Review the following examples to understand better how the module can be applied in practice. | ||
+ | |} | ||
+ | ==Basic Relation: Proxmox VE VPS and cPanel Manage2== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''In these steps, we will show you how to link Proxmox VE VPS with cPanel Manage2 through a product addon.''' <br/>You can also link them using configurable options if you would prefer.<br /> | ||
+ | 1. First create the product addon which will trigger the relation.<br /> | ||
+ | Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_21.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|2. Name your addon, there is no need to select a module since the addon will only be used to trigger the relation for the cPanel Manage2 Product to be added. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_21_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|3. Make sure you check the '' 'Show on Order' '' checkbox under '' 'Details'.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_21_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|4. It is advised to set up the same billing cycle as in the main product. The price of the addon will effectively be the price of the linked product. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_21_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|5. Finally, select the main product which the addon will be available for, in this case, it is '' 'Proxmox VE VPS KVM'.''<br/> | ||
+ | Next, press '' 'Save Changes'. '' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_22.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|6. Now, create a relation at your '' 'Product Linker' '' → '' 'Relations' '' → '' 'Basic Relations'. '' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_23.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Configure the relation: | ||
+ | *'''Type''' - select '' 'Addon' '' for this example. | ||
+ | *'''Addon''' - select your newly created addon. | ||
+ | *'''Swap Price''' - Leave this option disabled. | ||
+ | *'''Linked Product''' - Select the product that will be added when the relation is triggered.<br/> It should be set to hidden and free. You have indirectly set its price at the product addon configuration. | ||
+ | *'''Promotion''' - include a promotion, if you would like, you can add new promotions under '' 'System Settings' '' → '' 'Payments' '' → '' 'Promotions'.'' | ||
+ | *'''Copy Custom Fields''' - Leave disabled unless you want to copy custom fields from the main product to the linked product. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_24.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_25.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|The linked product will be added to the order along with the main product. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_26.png]] | ||
+ | |} | ||
+ | <!-- | ||
+ | ==cPanel Extended + cPanel Manage2== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In these steps, we will show you how to link cPanel Manage2 with cPanel Extended through the product addon.<br /> | ||
''Note: You can also link them using configurable options.''<br /> | ''Note: You can also link them using configurable options.''<br /> | ||
− | 1. Start | + | 1. Start by creating the '' 'IP' '' custom field at the main product visible on the order form.<br /> |
− | To do so, go to '' ' | + | To do so, go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your cPanel Extended product. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_20.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br /> | + | |style="padding: 0px 0px 15px 15px;"|2. Open the '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark the '' 'Show on Order Form' '' checkbox.<br /> |
− | Confirm changes | + | Confirm changes by pressing '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_20.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|3. It is time to create | + | |style="padding: 0px 0px 15px 15px;"|3. It is time to create the product addon which will trigger the relation.<br /> |
− | Go to '' ' | + | Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_21.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price. Choose billing cycle from '' 'Billing Cycle' '' dropdown menu.<br /> | + | |style="padding: 0px 0px 15px 15px;"|4. Enter the addon name, its description, and recurring price. Choose the billing cycle from the '' 'Billing Cycle' '' dropdown menu.<br /> |
− | It is advised to set up the same billing cycle as in the main product. Additionally, you have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product.<br/> In this example it will be '' 'cPanel - cPanel Extended'. ''<br /> | + | It is advised to set up the same billing cycle as in the main product. Additionally, you have to mark the'' 'Show on Order' '' checkbox and the checkbox next to the main product.<br/> In this example it will be '' 'cPanel - cPanel Extended'. ''<br /> |
Next, press '' 'Save Changes'. '' | Next, press '' 'Save Changes'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_22.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|5. Now, create relation at your '' 'Product Linker' '' → '' 'Basic Relations'. '' | + | |style="padding: 0px 0px 20px 15px;"|5. Now, create a relation at your '' 'Product Linker' '' → '' 'Basic Relations'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_23.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br /> | |style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br /> | ||
− | Do not forget to type the domain and IP address. | + | Do not forget to type the domain and IP address. Afterward, press '' 'Submit Order'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_24.png]] |
|} | |} | ||
{| | {| | ||
Line 321: | Line 450: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_25.png]] |
|} | |} | ||
{| | {| | ||
Line 327: | Line 456: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_26.png]] |
|} | |} | ||
− | + | ==DirectAdmin Extended + DirectAdmin Licenses== | |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In these steps we will show you | + | |style="padding: 10px 0px 15px 15px;"|In these steps, we will show you how to link DirectAdmin Licenses to DirectAdmin Extended through the product addon.<br /> |
''Note: You can also link them using configurable options.''<br /> | ''Note: You can also link them using configurable options.''<br /> | ||
− | 1. Start by creating '' 'IP' '' custom field at the main product visible on order form.<br /> | + | 1. Start by creating the '' 'IP' '' custom field at the main product visible on the order form.<br /> |
− | To do so, go to '' ' | + | To do so, go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your DirectAdmin Extended product. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_27.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br /> | + | |style="padding: 0px 0px 15px 15px;"|2. Open the '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark the '' 'Show on Order Form' '' checkbox.<br /> |
− | Confirm changes | + | Confirm changes by pressing '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_28.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|3. It is time to create | + | |style="padding: 0px 0px 15px 15px;"|3. It is time to create the product addon which will trigger the relation.<br /> |
− | Go to '' ' | + | Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_29.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price. Choose a billing cycle from '' 'Billing Cycle' '' dropdown menu.<br /> | + | |style="padding: 0px 0px 15px 15px;"|4. Enter the addon name, its description, and a recurring price. Choose a billing cycle from the '' 'Billing Cycle' '' dropdown menu.<br /> |
− | It is advised to set up the same billing cycle as in the main product. You also have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product.<br /> | + | It is advised to set up the same billing cycle as in the main product. You also have to mark the '' 'Show on Order' '' checkbox and the checkbox next to the main product.<br /> |
− | In this example it will be '' 'DirectAdmin - DirectAdmin Extended'. ''<br /> | + | In this example, it will be '' 'DirectAdmin - DirectAdmin Extended'. ''<br /> |
Next, press '' 'Save Changes'. '' | Next, press '' 'Save Changes'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_30.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|5. Now, create a relation at your '' 'Product Linker' '' → '' 'Basic Relations'. ''<br/> Note that the '' 'Swap Price' '' option has been also marked here. Consequently, the price for the addon will be changed with the price for the linked product/hosting. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_31.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br /> | |style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br /> | ||
− | Do not forget to type in the domain and IP address. | + | Do not forget to type in the domain and IP address. Afterward, press '' 'Submit Order'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_32.png]] |
|} | |} | ||
{| | {| | ||
Line 381: | Line 510: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_33.png]] |
|} | |} | ||
{| | {| | ||
Line 387: | Line 516: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_34.png]] |
|} | |} | ||
− | + | ==Virtuozzo Hybrid Server + Plesk Key Administrator== | |
− | + | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In these steps we will show you how to link Odin Key Administrator with Virtuozzo | + | |style="padding: 10px 0px 15px 15px;"|In these steps, we will show you how to link Odin Key Administrator with Virtuozzo Hybrid Server through a product addon.<br /> |
It is required to set a key type in your '' 'Odin Key Administrator' → 'Module Settings' '' to '' 'VIRTUOZZO'. ''<br /> | It is required to set a key type in your '' 'Odin Key Administrator' → 'Module Settings' '' to '' 'VIRTUOZZO'. ''<br /> | ||
− | Only in this way a linked product will create a license for Virtuozzo VPS product.<br /> | + | Only in this way, a linked product will create a license for a Virtuozzo VPS product.<br /> |
''Note 1: You can also link these products using configurable options.''<br /> | ''Note 1: You can also link these products using configurable options.''<br /> | ||
− | ''Note 2: In order to create a license successfully, you have to select at least one feature from | + | ''Note 2: In order to create a license successfully, you have to select at least one feature from the dropdown menu.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_35.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|1. Start by creating '' 'IP' '' custom field at the main product which will be visible on the order form.<br /> | + | |style="padding: 0px 0px 15px 15px;"|1. Start by creating the '' 'IP' '' custom field at the main product which will be visible on the order form.<br /> |
− | To do so, go to '' ' | + | To do so, go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your VirtuozzoVPS product. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_36.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br /> | + | |style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark the '' 'Show on Order Form' '' checkbox.<br /> |
− | Additionally, you can enter a description of this custom field and set up field validation (it is one line validation, do not split it into two lines):<br /> | + | Additionally, you can enter a description of this custom field and set up field validation (it is a one-line validation, do not split it into two lines):<br /> |
/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)<br /> | /\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)<br /> | ||
\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/<br /> | \.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/<br /> | ||
− | Confirm changes | + | Confirm changes by pressing '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_37.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|3. It is time to create | + | |style="padding: 0px 0px 15px 15px;"|3. It is time to create the product addon which will trigger the relation.<br/> |
− | Go to '' ' | + | Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_38.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price.<br /> | + | |style="padding: 0px 0px 15px 15px;"|4. Enter the addon name, its description, and a recurring price.<br /> |
− | Choose billing cycle from '' 'Billing Cycle' '' dropdown menu. It is advised to set up the same billing cycle as in the main product.<br /> | + | Choose the billing cycle from the '' 'Billing Cycle' '' dropdown menu. It is advised to set up the same billing cycle as in the main product.<br /> |
− | Additionally, you have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product. In this example it will be '' 'Odin Group - VirtuozzoVPS'. ''<br /> | + | Additionally, you have to mark the '' 'Show on Order' '' checkbox and the checkbox next to the main product. In this example, it will be '' 'Odin Group - VirtuozzoVPS'. ''<br /> |
Next, press '' 'Save Changes'. '' | Next, press '' 'Save Changes'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_39.png]] |
|} | |} | ||
{| | {| | ||
Line 438: | Line 566: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_40.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br /> | |style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation.<br /> | ||
− | Do not forget to type IP address. | + | Do not forget to type the IP address. Afterward, press '' 'Submit Order'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_41.png]] |
|} | |} | ||
{| | {| | ||
Line 451: | Line 579: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_42.png]] |
|} | |} | ||
{| | {| | ||
Line 457: | Line 585: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_43.png]] |
|} | |} | ||
− | + | ||
+ | |||
+ | ==Plesk Extended + Plesk Key Administrator== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In these steps we will show you how to link | + | |style="padding: 10px 0px 15px 15px;"|In these steps, we will show you how to link Plesk Key Administrator with Plesk Extended through a product addon.<br /> |
− | There are a few key types in your | + | There are a few key types in your Plesk Key Administrator that are licenses for Plesk Extended.<br /> |
In this example we will use '' 'PLESK_10_AND_LATER' '' key type.<br /> | In this example we will use '' 'PLESK_10_AND_LATER' '' key type.<br /> | ||
''Note 1: You can also link these products using configurable options.''<br /> | ''Note 1: You can also link these products using configurable options.''<br /> | ||
− | ''Note 2: In order to create a license successfully, you have to select at least one feature from | + | ''Note 2: In order to create a license successfully, you have to select at least one feature from the dropdown menu.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_44.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|1. Start by creating '' 'IP' '' custom field at the main product which will be visible on the order form.<br /> | + | |style="padding: 10px 0px 15px 15px;"|1. Start by creating the '' 'IP' '' custom field at the main product which will be visible on the order form.<br /> |
− | Go to '' ' | + | Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your Plesk Extended product. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_45.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|2. Open '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark '' 'Show on Order Form' '' checkbox.<br /> | + | |style="padding: 0px 0px 15px 15px;"|2. Open the '' 'Custom Fields' '' tab, enter '' 'IP' '' into '' 'Field Name' '' and mark the '' 'Show on Order Form' '' checkbox.<br /> |
− | Additionally, you can enter a description of this custom field and set up field validation (it is one line validation, do not split it into two lines):<br /> | + | Additionally, you can enter a description of this custom field and set up field validation (it is a one-line validation, do not split it into two lines):<br /> |
/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)<br /> | /\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)<br /> | ||
\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/<br /> | \.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/<br /> | ||
− | Confirm changes | + | Confirm changes by pressing '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_46.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|3. It is time to create | + | |style="padding: 0px 0px 15px 15px;"|3. It is time to create the product addon which will trigger the relation.<br /> |
− | Go to '' ' | + | Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_47.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|4. Enter addon name, its description and recurring price.<br /> | + | |style="padding: 0px 0px 15px 15px;"|4. Enter an addon name, its description, and a recurring price.<br /> |
− | Choose billing cycle from '' 'Billing Cycle' '' dropdown menu. It is advised to set up the same billing cycle as in the main product.<br /> | + | Choose the billing cycle from the '' 'Billing Cycle' '' dropdown menu. It is advised to set up the same billing cycle as in the main product.<br /> |
− | You also have to mark '' 'Show on Order' '' checkbox and checkbox next to the main product. In this example it will be '' 'Odin Group - Plesk Extended'. ''<br /> | + | You also have to mark the '' 'Show on Order' '' checkbox and the checkbox next to the main product. In this example, it will be '' 'Odin Group - Plesk Extended'. ''<br /> |
Next, press '' 'Save Changes'. '' | Next, press '' 'Save Changes'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_48.png]] |
|} | |} | ||
{| | {| | ||
Line 508: | Line 638: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_49.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the addon triggering the relation.<br /> | |style="padding: 0px 0px 15px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the addon triggering the relation.<br /> | ||
− | Do not forget to type IP address. | + | Do not forget to type an IP address. Afterward, press '' 'Submit Order'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_50.png]] |
|} | |} | ||
{| | {| | ||
Line 521: | Line 651: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_51.png]] |
|} | |} | ||
{| | {| | ||
Line 527: | Line 657: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_52.png]] |
|} | |} | ||
− | == | + | --> |
+ | |||
+ | ==Product Relation: Proxmox VE VPS and Plesk Key Administrator== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 15px 15px;"|'''In these steps, we will show you how to link independent Proxmox VE VPS and Plesk Key Administrator products.''' <br/>The linked product will always be added when the main product is ordered. |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 15px;"|Create a relation at your '' 'Product Linker' '' → '' 'Relations'. '' → '' 'Product Relations'.'' |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_27.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|Configure the relation: |
+ | *'''Main Product''' - select the main product which will trigger the relation on its own. | ||
+ | *'''Linked Product''' - Select the product that will be added when the relation is triggered.<br/>It should be set to hidden and free. You can indirectly set its price by balancing the main product price and the promotion. | ||
+ | *'''Promotion''' - include a promotion, if you would like, you can add new promotions under '' 'System Settings' '' → '' 'Payments' '' → '' 'Promotions'.'' | ||
+ | *'''Copy Custom Fields''' - Leave disabled unless you want to copy custom fields from the main product to the linked product. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_28.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL3_29.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|The linked product will be added to the order along with the main product. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PL3_30.png]] | ||
|} | |} | ||
Line 557: | Line 699: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|2. If your client orders a product configurable options upgrade/downgrade, the old linked product bound by a previous configurable option will stay active.<br /> You need to remove the link between the old linked product and the main product in the addon and terminate the old linked product manually. |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 15px;"|3. If a child product is at the same time a parent product in the other relation, changes made on its parent will be also commanded on its child. | + | |style="padding: 0px 0px 10px 15px;"|3. If a child product is at the same time a parent product in the other relation, changes made on its parent will be also commanded on its child. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|4. Keep in mind that the second product, linked by the module, is never visible in the cart. It is automatically added once the first one is | + | |style="padding: 0px 0px 30px 15px;"|4. Keep in mind that the second product, linked by the module, is never visible in the cart. It is automatically added once the first one is ordered. |
+ | |} | ||
+ | |||
+ | =Update Instructions= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/> | ||
+ | Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/> Additionally, you will find a current list of supplementary actions necessary for a smooth update process there. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|'''1. Data migration to version 2.0.0 is handled automatically upon module activation.''' <br/> | ||
+ | |||
+ | * '''Download the latest version of the module''' from our [https://www.modulesgarden.com/client-area/products client area]. | ||
+ | * '''Remove the old module's files''' from the WHMCS root directory.<br/>'''''Note:''' The module folder name has been changed from 'productlinker' to 'ProductLinker'. Ensure that the old 'productlinker' folder is deleted completely.'' | ||
+ | * '''Upload and extract the new files''' into your WHMCS root directory. | ||
+ | * '''Activate the 'Product Linker' addon module.''' | ||
+ | |} | ||
+ | |||
+ | =Upgrade Guide= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/> | ||
+ | |||
+ | Opt for the [https://www.modulesgarden.com/products/whmcs/product-linker#open-source-version Open Source version] of your Product Linker For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/> | ||
+ | |||
+ | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | ||
|} | |} | ||
Line 572: | Line 736: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"| | + | |style="padding: 0px 0px 30px 15px;"|'''2. We do not recommend using Product Linker For WHMCS with the following modules:''' |
+ | * Product Free Trial Manager For WHMCS | ||
+ | * Resellers Center For WHMCS<br/> | ||
+ | Integration between these modules is hampered due to specific features of each one of them and their individual workflow.<br/> | ||
+ | We are continually working on eliminating these limitations wherever possible. | ||
|} | |} |
Latest revision as of 12:24, 9 September 2024
Contents |
[edit] About Product Linker For WHMCS
Product Linker For WHMCS enables you to establish dynamic connections between products, addons, and configurable options. This facilitates bundled purchases for customers, supported by flexible discounts. The module also provides an intuitive interface for viewing, filtering, and managing existing product associations, giving you full control over the active connections used by your clients. |
- Automation Features:
✔ Handle Dependencies Between Module Actions: |
✔ Each Create/Terminate/Suspend/Unsuspend Action Performed On Main Product Triggers Such Action On Child Products |
✔ Copy Configurable Options From Parent To Child Product |
- Admin Area Features:
✔ Define Relations Between Chosen Products And: |
✔ Product Addons |
✔ Configurable Options |
✔ Linked Products |
✔ Define If Product Addon Price Should Be Switched With Linked Product Price |
✔ Copy Custom Fields Between Configured Relations |
✔ Assign Custom Promo Codes To Relations: |
✔ Select Discount Priority |
✔ Define Minimum Discount Amount |
✔ View, Filter And Delete Existing Connections Between Linked Products |
✔ Enable Related Products Notices In Client Cart |
✔ View Product Upgrades/Downgrades Tasks Queue |
✔ Customize Module Language Files With "Translations" Tool |
✔ View And Manage Logs |
- Client Area Features:
✔ Purchase Multiple Products, Addons And Configurable Options By Ordering Just One |
✔ View Linked Product Added To Order After Relation Is Triggered |
- General Info:
✔ Integrated With cPanel Manage2 For WHMCS - Easy Reselling Of cPanel Licenses |
✔ Integrated With DirectAdmin Licenses For WHMCS - Easy Reselling Of DirectAdmin Licenses |
✔ Integrated With Plesk Key Administrator For WHMCS - Easy Reselling Of Plesk Licenses |
✔ Multi-Language Support With Custom Translations Tool |
✔ Supports PHP 8.2 Back To PHP 8.1 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.11 Back To WHMCS V8.8 |
✔ Requires ionCube Loader V13 Or Later |
✔ Easy Module Upgrade To Open Source Version |
[edit] Installation
This tutorial will show you how to successfully install Product Linker For WHMCS. We will guide you step by step through the whole installation and configuration process. |
1. Log in to our client area and download the module. |
3. Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this. |
4. When you install Product Linker For WHMCS for the first time you have to rename 'license_RENAME.php' file. The file is located in 'modules/addons/ProductLinker/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.' Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'. |
6. Now you have to activate the module in your WHMCS system. Log in to your WHMCS admin area. Go to 'System Settings' → 'Addon Modules'. Afterward, find 'Product Linker' and press the 'Activate' button. |
7. In the next step, you need to permit access to this module. To do so, click on the 'Configure' button, select administrator groups that should have access to this addon and press 'Save Changes'. |
8. Optionally, set up a cron job, that automatically terminates linked products when the main product is upgraded/downgraded. 5-minute interval is recommended, the cron can be run as often as every minute, but at the cost of increased WHMCS server load. php -q /your_WHMCS/modules/addons/ProductLinker/cron/cron.php queue |
9. You have just successfully installed Product Linker For WHMCS! You can access your module at 'Addons' → 'Product Linker'. |
[edit] Configuration and Management
Product Linker For WHMCS allows to sell bundles of products through ordering one product with specific product addons and configurable options. It also automatically forwards basic commands from the main product to all child products. |
[edit] Basic Relations
At the 'Basic Relations' tab you can define links between products through product addons and configurable options. They will be triggered once your client makes an order for a product with the product addon/configurable option chosen at the relation. |
To set up a relation:
|
Added relations can be edited or deleted by using the relative action buttons. |
[edit] Product Relations
At the 'Product Relations' tab you can set up a relation linking one product with another. To create a new configuration simply click on the 'Add Relation' button. |
Provide the following information to create the relation:
|
Created product relations can be edited or deleted by clicking on the respective action buttons. |
[edit] Existing Connections
'Existing Connections' tab allows you to view the list of all products ordered by your clients for which relations exist. You can find all the information about a relation, like the main product, linked product, their owner, or domain used by both products. |
[edit] Settings
Due to the assignment of promotions to the relation, a situation may occur where multiple promotions will be assigned to one order. WHMCS does not support such a situation, therefore only one promotion has to be chosen.
Client's order qualifies for 3 discounts: 20%, 50% and 80% We have set the Discount Priority to 'Lowest Discount' The Minimum Reduction Amount is set to '10' The order subtotal is '36.39' The reduction is calculated: 36.39 * 20% = 7.28 36.39 * 50% = 18.20 36.39 * 80% = 29.11 Since the calculation with the lowest discount did not exceed the 'Minimum Reduction Amount', the next discount (50%) is applied as it does exceed the minimum. |
[edit] Queue
The 'Queue' section is designed to handle product upgrades and downgrades for products that have a relation established. The cron will automatically create tasks to terminate linked products after upgrade/downgrade of the main product. php -q /your_WHMCS/modules/addons/ProductLinker/cron/cron.php queue The table below the cron job information will allow you to see the status of each task, see its details, run it manually, or delete it. |
You can delete multiple tasks at once by using the mass action function. |
Additional actions include the auto prune system and the ability to hide the cron information. |
[edit] Translations
Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon. Its user-friendly design makes managing various language file tweaks a smooth and efficient process. Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here. |
[edit] Logs
The 'Logs' page stores the history of actions performed by the module. Use the action buttons to see details or delete each log entry. Multiple logs can be deleted at once by utilizing the mass selection function. |
Furthermore, the logs feature additional actions. Changing the logs' settings, exporting the logs to a '.csv' file, and a way to delete specific log types. |
In the settings you can specify which log types should be recorded, and whether they should be deleted automatically after a specific time. |
While exporting you will pick a time frame and the log types to export. |
Here you can decide which log types to delete, you can also specify how old the logs have to be to qualify for deletion. Leave the first field empty to delete all logs. |
[edit] Client Area
When the client orders a product with a relation created for it, the relation will be displayed on the order form, provided the option is enabled in the addon's settings. If included in the relations, promotions will be applied based on the settings. |
[edit] Use Cases
This section provides scenarios that demonstrate common use cases, along with detailed explanations of how the module’s features can be utilized in real-world situations. Review the following examples to understand better how the module can be applied in practice. |
[edit] Basic Relation: Proxmox VE VPS and cPanel Manage2
In these steps, we will show you how to link Proxmox VE VPS with cPanel Manage2 through a product addon. You can also link them using configurable options if you would prefer. 1. First create the product addon which will trigger the relation. |
2. Name your addon, there is no need to select a module since the addon will only be used to trigger the relation for the cPanel Manage2 Product to be added. |
3. Make sure you check the 'Show on Order' checkbox under 'Details'. |
4. It is advised to set up the same billing cycle as in the main product. The price of the addon will effectively be the price of the linked product. |
5. Finally, select the main product which the addon will be available for, in this case, it is 'Proxmox VE VPS KVM'. Next, press 'Save Changes'. |
6. Now, create a relation at your 'Product Linker' → 'Relations' → 'Basic Relations'. |
Configure the relation:
|
To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation. |
The linked product will be added to the order along with the main product. |
[edit] Product Relation: Proxmox VE VPS and Plesk Key Administrator
In these steps, we will show you how to link independent Proxmox VE VPS and Plesk Key Administrator products. The linked product will always be added when the main product is ordered. |
Create a relation at your 'Product Linker' → 'Relations'. → 'Product Relations'. |
Configure the relation:
|
To check if the relation works as it should, place an order from the admin area for the main product with the product addon triggering the relation. |
The linked product will be added to the order along with the main product. |
[edit] Tips
1. If your client orders a product with settings triggering two relations with the same product, only one product will be created. |
2. If your client orders a product configurable options upgrade/downgrade, the old linked product bound by a previous configurable option will stay active. You need to remove the link between the old linked product and the main product in the addon and terminate the old linked product manually. |
3. If a child product is at the same time a parent product in the other relation, changes made on its parent will be also commanded on its child. |
4. Keep in mind that the second product, linked by the module, is never visible in the cart. It is automatically added once the first one is ordered. |
[edit] Update Instructions
An essential guidance through the process of updating the module is offered here. Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues. |
1. Data migration to version 2.0.0 is handled automatically upon module activation.
|
[edit] Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Product Linker For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
[edit] Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. We do not recommend using Product Linker For WHMCS with the following modules:
Integration between these modules is hampered due to specific features of each one of them and their individual workflow. |