Product Linker For WHMCS
(→Settings) |
(→About Product Linker For WHMCS) |
||
(44 intermediate revisions by 7 users not shown) | |||
Line 2: | Line 2: | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Product Linker For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Product Linker For WHMCS Module."></meta> | ||
− | =About [ | + | =About [https://www.modulesgarden.com/products/whmcs/product-linker Product Linker For WHMCS]= |
{| | {| | ||
|style="padding: 10px 0px 5px 0px;"|'''Product Linker For WHMCS''' allows you to create relations between your products, addons and configurable options. <br/> | |style="padding: 10px 0px 5px 0px;"|'''Product Linker For WHMCS''' allows you to create relations between your products, addons and configurable options. <br/> | ||
Line 45: | Line 45: | ||
*'''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 |
|} | |} | ||
{| | {| | ||
Line 57: | Line 57: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4 |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One" | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.9 Back To WHMCS V8.6 | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later | ||
+ | |} | ||
+ | {| | ||
+ | |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= | =Installation= | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install Product Linker For WHMCS.''' <br /> | + | |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 /> | We will guide you step by step through the whole installation and configuration process. <br /> | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 20px 0px 20px 15px;"|'''1. Log in to | + | |style="padding: 20px 0px 20px 15px;"|'''1. Log in to our client area and download the module.''' |
|} | |} | ||
{| | {| | ||
Line 72: | Line 84: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/> |
− | + | In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. --> | |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PHP72_74.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/> | ||
+ | The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.<br/> | ||
+ | '''''Note:''' Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released any more. Find more info [http://php.net/supported-versions.php here].'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PHP56_74.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 15px;"|<!-- '' '''Important''': This situation does not affect [https://www.modulesgarden.com/products/whmcs/product-linker#open-source-version '''the open source version'''] of this module which can be applied to any PHP from version 5.6 and later.''<br/>''--> '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.''' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''3. Extract the package and upload its content into the main WHMCS directory. | ||
+ | The content of the package to upload should look like this. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:gfhdr.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |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 /> |
File is located in '' 'modules/addons/productlinker/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | File is located in '' 'modules/addons/productlinker/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | ||
|} | |} | ||
Line 86: | Line 116: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |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 93: | Line 123: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |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 '' 'Setup' '' → '' 'Addon Modules'. '' | + | Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules'. '' Afterward, find '' 'Product Linker' '' and press the '' 'Activate' '' button. |
|} | |} | ||
{| | {| | ||
Line 100: | Line 130: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |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 which should have access to this addon and press '' 'Save Changes'. '' | + | To do so, click on the '' 'Configure' '' button, select administrator groups which should have access to this addon and press '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
Line 107: | Line 137: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''8. To enable logs from failed actions, go to '' 'Utilities' '' → '' 'Logs' '' → '' 'Module Log'. '' '''<br /> |
There, press '' 'Enable Debug Logging'. '' | There, press '' 'Enable Debug Logging'. '' | ||
|} | |} | ||
Line 114: | Line 144: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''9. You have just successfully installed Product Linker For WHMCS!'''<br /> |
You can access your module at '' 'Addons' '' → '' 'Product Linker'. '' | You can access your module at '' 'Addons' '' → '' 'Product Linker'. '' | ||
|} | |} | ||
Line 125: | Line 155: | ||
|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 relation between products through product addon or configurable option. You will find more information about it in '' 'Add Relation' '' section.<br /> | + | You can define relation between products through product addon or configurable option. You will find more information about it in the '' 'Add Relation' '' section.<br /> |
|} | |} | ||
==Basic Relations== | ==Basic Relations== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|At '' 'Basic Relations' '' tab you can define links between products through product addons and configurable options.<br /> | + | |style="padding: 10px 0px 20px 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 product, with the product addon/configurable option chosen at the relation, and runs the '''Create''' command for that product.<br /> |
Additionally, you can define a promo code added to the order by triggering the relation. | Additionally, you can define a promo code added to the order by triggering the relation. | ||
|} | |} | ||
===Add Relation=== | ===Add Relation=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|To add a new relation, go to '' 'Product Linker' '' → '' 'Basic Relations'. ''<br /> Now, select relation type from '' 'Type' '' dropdown menu, you can choose between relation triggered by product addon or configurable option.<br/> | + | |style="padding: 10px 0px 15px 15px;"|To add a new relation, go to '' 'Product Linker' '' → '' 'Basic Relations'. ''<br /> Now, select a relation type from the '' 'Type' '' dropdown menu, you can choose between relation triggered by a product addon or a configurable option.<br/> |
− | ''Note: For '' 'Addon' '' type there is also '' 'Swap Price' '' option available. If you select it, the price of the linked hosting/product will be overwritten with the addon price.'' | + | ''Note: For '' 'Addon' '' type there is also the '' 'Swap Price' '' option available. If you select it, the price of the linked hosting/product will be overwritten with the addon price.'' |
|} | |} | ||
{| | {| | ||
Line 142: | Line 172: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Next, select product addon or configurable option name from '' 'Product Addon/Configurable Option' '' dropdown menu.<br /> | + | |style="padding: 0px 0px 15px 15px;"|Next, select a product addon or a configurable option name from the '' 'Product Addon/Configurable Option' '' dropdown menu.<br /> |
− | If you have chosen '' 'Configurable option' '' relation type, additionally you have to select a configurable option value. | + | If you have chosen the '' 'Configurable option' '' relation type, additionally you have to select a configurable option value. |
|} | |} | ||
{| | {| | ||
Line 149: | Line 179: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Finish through selecting child product which will be linked after triggering the relation.<br /> | + | |style="padding: 0px 0px 15px 15px;"|Finish through selecting a child product which will be linked after triggering the relation.<br /> |
− | Choose a promo code that will be added to the order and save relation through pressing '' 'Add Relation' '' button.<br /> | + | Choose a promo code that will be added to the order and save the relation through pressing the '' 'Add Relation' '' button.<br /> |
''Note: Only one promo code can be assigned to the order, you can specify the assignment of promo code at the '' 'Settings' '' page.'' | ''Note: Only one promo code can be assigned to the order, you can specify the assignment of promo code at the '' 'Settings' '' page.'' | ||
|} | |} | ||
Line 159: | Line 189: | ||
===Edit Relation=== | ===Edit Relation=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Editing relations is quite easy, go to '' 'Basic Relations' '' tab and start making changes.<br /> | + | |style="padding: 10px 0px 15px 15px;"|Editing relations is quite easy, go to the '' 'Basic Relations' '' tab and start making changes.<br /> |
− | You can alter one relation or multiple relations simultaneously, the only difference is button used to save changes.<br /> | + | You can alter one relation or multiple relations simultaneously, the only difference is the button used to save changes.<br /> |
− | If you are making changes in only one relation, press '' 'Save Changes' '' button next to it, otherwise use '' 'Save Changes' '' at the bottom of the page (pointed with a green arrow). | + | If you are making changes in only one relation, press the '' 'Save Changes' '' button next to it, otherwise use '' 'Save Changes' '' at the bottom of the page (pointed with a green arrow). |
|} | |} | ||
{| | {| | ||
Line 169: | Line 199: | ||
==Product Relations== | ==Product Relations== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|At '' 'Product Relations' '' tab you can set up relation linking one product with another.<br /> | + | |style="padding: 10px 0px 15px 15px;"|At the '' 'Product Relations' '' tab you can set up relation linking one product with another.<br /> |
− | To create a new configuration simply choose product which will trigger relation from '' 'Product' '' dropdown menu. Next, select product which will be added from '' 'Linked Product' ''<br /> dropdown menu. | + | To create a new configuration simply choose product which will trigger the relation from the '' 'Product' '' dropdown menu. Next, select a product which will be added from the '' 'Linked Product' ''<br /> dropdown menu. |
− | Optionally, assign promo code and enable configurable option copying (if possible). Press '' 'Add Relation' '' to save relation. | + | Optionally, assign a promo code and enable configurable option copying (if possible). Press '' 'Add Relation' '' to save relation. |
|} | |} | ||
{| | {| | ||
Line 188: | Line 218: | ||
{| | {| | ||
|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 information about a relation, like main product, linked product, their owner or domain used by both products.<br /> |
− | You can quickly move to the customer or any of their products by simply clicking on client/product name. | + | You can quickly move to the customer or any of their products by simply clicking on a client/product name. |
|} | |} | ||
{| | {| | ||
Line 196: | Line 226: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Module also allows you to order records on the list by selected column through pressing on its headline.<br /> | |style="padding: 0px 0px 15px 15px;"|Module also allows you to order records on the list by selected column through pressing on its headline.<br /> | ||
− | For example, to order by client name, press on '' 'Client Name' '' column header as shown on the following screen. | + | For example, to order by client name, press on the '' 'Client Name' '' column header as shown on the following screen. |
|} | |} | ||
{| | {| | ||
Line 210: | Line 240: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|You are able to set up filtering by client name, both main and linked products and domain.<br /> | |style="padding: 0px 0px 15px 15px;"|You are able to set up filtering by client name, both main and linked products and domain.<br /> | ||
− | When you select values you desire, click '' 'Filter Results' '' button (red arrow).<br /> | + | When you select values you desire, click the '' 'Filter Results' '' button (red arrow).<br /> |
If you decide to clear filters you have set up earlier, open filters form and press '' 'Clear Filter' '' (green arrow). | If you decide to clear filters you have set up earlier, open filters form and press '' 'Clear Filter' '' (green arrow). | ||
|} | |} | ||
Line 219: | Line 249: | ||
==Module Logs== | ==Module Logs== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|If there was any trouble with linked products, information about error will be displayed at '' 'Module Logs' '' page.<br /> | + | |style="padding: 10px 0px 15px 15px;"|If there was any trouble with linked products, information about error will be displayed at the '' 'Module Logs' '' page.<br /> |
− | Error | + | Error messages can be found at the '' 'Clean Response' '' and '' 'Parsed Response' '' columns.<br /> |
− | To locate products for which error occurred, you can use data at '' 'Request Parameters' '' column.<br /> | + | To locate products for which an error occurred, you can use data at the '' 'Request Parameters' '' column.<br /> |
For example, '' '[accountid]' '' and '' '[domain]' '' should be enough to quickly localize products.<br /> | For example, '' '[accountid]' '' and '' '[domain]' '' should be enough to quickly localize products.<br /> | ||
''Note: Module also checks if the module log is turned on and provides a link to it.'' | ''Note: Module also checks if the module log is turned on and provides a link to it.'' | ||
Line 232: | Line 262: | ||
All you have to do is enter value of '' '[accountid]' '' in place of account_id in the link below.<br /> | All you have to do is enter value of '' '[accountid]' '' in place of account_id in the link below.<br /> | ||
your_whmcs/admin/clientsservices.php?id=account_id<br /> | your_whmcs/admin/clientsservices.php?id=account_id<br /> | ||
− | To confirm if you are looking at right product, check if domain in the product matches domain you found in the error log. | + | To confirm if you are looking at the right product, check if a domain in the product matches the domain you found in the error log. |
|} | |} | ||
==Settings== | ==Settings== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Settings' '' section you may manage the promo codes assignment to linked products and add some information to the order form.<br/> | + | |style="padding: 10px 0px 15px 15px;"|In the '' 'Settings' '' section you may manage the promo codes assignment to linked products and add some information to the order form.<br/> |
− | Due to assignment of promo codes to the relation, it may happen that multiple promo codes will be assigned to one order form. WHMCS | + | Due to the assignment of promo codes to the relation, it may happen that multiple promo codes will be assigned to one order form. WHMCS does not support such actions, <br/>therefore only one promo code has to be chosen.<br /> |
− | 1. '' 'Highest Discount Available' '' - if checked, | + | 1. '' 'Highest Discount Available' '' - if checked, the promo code giving the highest discount to your clients will be chosen at the order form.<br /> |
− | 2. '' 'Discount Limit' '' - if '' 'Highest Discount Available' '' is disabled, | + | 2. '' 'Discount Limit' '' - if '' 'Highest Discount Available' '' is disabled, the promo code giving the closest discount to the value provided will be chosen.<br /> |
Discount has to be greater than the value provided.<br /> | Discount has to be greater than the value provided.<br /> | ||
|} | |} | ||
Line 247: | Line 277: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|3. Display Product Info - if this option is selected in '' 'Settings' '' section, there is information visible on the linked product on the order form. | + | |style="padding: 0px 0px 20px 15px;"|3. Display Product Info - if this option is selected in the '' 'Settings' '' section, there is information visible on the linked product on the order form. |
|} | |} | ||
{| | {| | ||
Line 255: | Line 285: | ||
==Exemplary Connections== | ==Exemplary Connections== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|At '' 'Exemplary Connections' '' section we will show you how to set up relations between specific products.<br /> | + | |style="padding: 10px 0px 15px 15px;"|At the '' 'Exemplary Connections' '' section we will show you how to set up relations between specific products.<br /> |
− | One of the many possibilities is connecting [ | + | One of the many possibilities is connecting [https://www.docs.modulesgarden.com/CPanel_Manage2_For_WHMCS cPanel Manage2 For WHMCS], [https://www.docs.modulesgarden.com/DirectAdmin_Licenses_For_WHMCS DirectAdmin Licenses For WHMCS] and [https://www.docs.modulesgarden.com/Odin_Key_Administrator_For_WHMCS Odin Key Administrator For WHMCS] with other products.<br /> |
This will allow you to automatically provision ready to use licenses for clients once they order a product of your choice, e.g. a VPS server.<br /> | This will allow you to automatically provision ready to use licenses for clients once they order a product of your choice, e.g. a VPS server.<br /> | ||
''Note: Before following any of exemplary configurations below, make sure that both products you will be using in the configuration are set up correctly.''<br /> | ''Note: Before following any of exemplary configurations below, make sure that both products you will be using in the configuration are set up correctly.''<br /> | ||
Line 265: | Line 295: | ||
|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: 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 from creating '' 'IP' '' custom field at the main product visible on order form.<br /> | + | 1. Start from creating the '' 'IP' '' custom field at the main product visible on order form.<br /> |
To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your cPanel Extended product. | To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your cPanel Extended product. | ||
|} | |} | ||
Line 273: | Line 303: | ||
{| | {| | ||
− | |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 through pressing '' 'Save Changes'. '' | Confirm changes through pressing '' 'Save Changes'. '' | ||
|} | |} | ||
Line 280: | Line 310: | ||
|} | |} | ||
{| | {| | ||
− | |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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | ||
|} | |} | ||
Line 287: | Line 317: | ||
|} | |} | ||
{| | {| | ||
− | |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 addon name, its description and recurring price. Choose 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 '' 'Show on Order' '' checkbox and 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'. '' | ||
Line 302: | Line 332: | ||
{| | {| | ||
|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'. '' |
|} | |} | ||
{| | {| | ||
Line 322: | Line 352: | ||
===DirectAdmin Extended + DirectAdmin Licenses=== | ===DirectAdmin Extended + DirectAdmin Licenses=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In these steps we will show you linking DirectAdmin Licenses to DirectAdmin Extended through product addon.<br /> | + | |style="padding: 10px 0px 15px 15px;"|In these steps we will show you linking 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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your DirectAdmin Extended product. | To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your DirectAdmin Extended product. | ||
|} | |} | ||
Line 332: | Line 362: | ||
{| | {| | ||
− | |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 through pressing '' 'Save Changes'. '' | Confirm changes through pressing '' 'Save Changes'. '' | ||
|} | |} | ||
Line 339: | Line 369: | ||
|} | |} | ||
{| | {| | ||
− | |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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | ||
|} | |} | ||
Line 346: | Line 376: | ||
|} | |} | ||
{| | {| | ||
− | |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'. '' | ||
Line 355: | Line 385: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|5. Now, create a relation at your '' 'Product Linker' '' → '' 'Basic Relations'. ''<br/> Note that '' '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 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. |
|} | |} | ||
{| | {| | ||
Line 362: | Line 392: | ||
{| | {| | ||
|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'. '' |
|} | |} | ||
{| | {| | ||
Line 380: | Line 410: | ||
|} | |} | ||
− | ===Virtuozzo + | + | <!-- |
+ | ===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 through a product addon.<br /> | + | |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 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.'' |
|} | |} | ||
{| | {| | ||
Line 392: | Line 423: | ||
|} | |} | ||
{| | {| | ||
− | |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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your | + | To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your VirtuozzoVPS product. |
|} | |} | ||
{| | {| | ||
Line 399: | Line 430: | ||
|} | |} | ||
{| | {| | ||
− | |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 /> | ||
Line 409: | Line 440: | ||
|} | |} | ||
{| | {| | ||
− | |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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | ||
|} | |} | ||
Line 416: | Line 447: | ||
|} | |} | ||
{| | {| | ||
− | |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 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 - | + | Additionally, you have to mark the '' 'Show on Order' '' checkbox and checkbox next to the main product. In this example it will be '' 'Odin Group - VirtuozzoVPS'. ''<br /> |
Next, press '' 'Save Changes'. '' | Next, press '' 'Save Changes'. '' | ||
|} | |} | ||
Line 432: | Line 463: | ||
{| | {| | ||
|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'. '' |
|} | |} | ||
{| | {| | ||
Line 449: | Line 480: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_42.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PL2_42.png]] | ||
|} | |} | ||
+ | --> | ||
− | ===Plesk Extended + | + | ===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.''--> |
|} | |} | ||
{| | {| | ||
Line 462: | Line 494: | ||
|} | |} | ||
{| | {| | ||
− | |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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your Plesk Extended product. | Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services' '' and edit your Plesk Extended product. | ||
|} | |} | ||
Line 469: | Line 501: | ||
|} | |} | ||
{| | {| | ||
− | |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 /> | ||
Line 479: | Line 511: | ||
|} | |} | ||
{| | {| | ||
− | |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 '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products Addons' '' and press '' 'Add New Addon'. '' | ||
|} | |} | ||
Line 486: | Line 518: | ||
|} | |} | ||
{| | {| | ||
− | |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 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 - | + | 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'. '' | ||
|} | |} | ||
Line 502: | Line 534: | ||
{| | {| | ||
|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'. '' |
|} | |} | ||
{| | {| | ||
Line 518: | Line 550: | ||
{| | {| | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PL2_51.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PL2_51.png]] | ||
+ | |} | ||
+ | |||
+ | ==Client Area== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"|At this section we will try to visualize how a client may benefit from the connections made between certain products.<br/> | ||
+ | Let's take a look at an exemplary situation. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Administrator has created a connection between a VPS product: '''VPS 2x2.4GHz 16 GB RAM, 1TB HDD'''<br/> | ||
+ | and allowed to purchase two addons along with it:<br/> | ||
+ | - cPanel License<br/> | ||
+ | - Direct Admin License<br/> | ||
+ | Our Test Tester client decided to add a cPanel License to the cart next to the VPS product.<br/> | ||
+ | Thanks to the connection created in the Product Linker addon, the final price is lower than as if the two items were ordered separately. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PL2_52.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|When items are activated, the client may see their pricing on the products list. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PL2_53.png]] | ||
|} | |} | ||
Line 525: | Line 580: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 10px 15px;"|2. If your client orders product configurable options upgrade/downgrade, old linked product bound by previous configurable option will stay active.<br /> | + | |style="padding: 0px 0px 10px 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 | + | :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 | + | |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 activated. | ||
+ | |} | ||
+ | |||
+ | =Update Instructions= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/><br/> | ||
+ | Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!<br/> | ||
+ | To take advantage of it, simply use the '''License Upgrade''' button located on the product's page and a discounted invoice will be generated automatically.<br/> | ||
|} | |} | ||
Revision as of 15:24, 22 February 2024
Contents |
About Product Linker For WHMCS
Product Linker For WHMCS allows you to create relations between your products, addons and configurable options. Consequently, clients may buy products in bundles along with flexible promo codes. |
- Automation Features:
✔ Handle Dependencies Between Module Actions - Each Create/Terminate/Suspend/Unsuspend Action Called On Main Product Triggers Such Action On Child Products |
✔ Enable Product Updates With Automatic Email Notifications Sent To Administrators |
✔ Copy Configurable Options From Parent To Child Product |
- Admin Area Features:
✔ Define Relations Between Chosen Product, Addons, Configurable Options And Linked Products |
✔ Define If Addon Price Should Be Switched With Linked Product Price |
✔ Assign Custom Promo Codes To Relations |
✔ View, Filter And Delete Existing Connections |
✔ View Error Logs |
- Client Area Features:
✔ Buy Multiple Products, Addons And Configurable Options By Ordering At Least One Of Them |
✔ View Linked Product Added To Order By Triggering Relation |
- 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 |
✔ Supports PHP 8.1 Back To PHP 7.4 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.9 Back To WHMCS V8.6 |
✔ Requires ionCube Loader V12 Or Later |
✔ Easy Module Upgrade To Open Source Version |
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. |
2. In the downloaded file you might find one or two packages that support different PHP versions. In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later. |
Previous updates of the module may contain two packages dedicated to various PHP versions. The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4. |
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
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. 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 'Setup' → '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 which should have access to this addon and press 'Save Changes'. |
8. To enable logs from failed actions, go to 'Utilities' → 'Logs' → 'Module Log'. There, press 'Enable Debug Logging'. |
9. You have just successfully installed Product Linker For WHMCS! You can access your module at 'Addons' → 'Product Linker'. |
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. |
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 product, with the product addon/configurable option chosen at the relation, and runs the Create command for that product. |
Add Relation
To add a new relation, go to 'Product Linker' → 'Basic Relations'. Now, select a relation type from the 'Type' dropdown menu, you can choose between relation triggered by a product addon or a configurable option. Note: For 'Addon' type there is also the 'Swap Price' option available. If you select it, the price of the linked hosting/product will be overwritten with the addon price. |
Next, select a product addon or a configurable option name from the 'Product Addon/Configurable Option' dropdown menu. If you have chosen the 'Configurable option' relation type, additionally you have to select a configurable option value. |
Finish through selecting a child product which will be linked after triggering the relation. Choose a promo code that will be added to the order and save the relation through pressing the 'Add Relation' button. |
Edit Relation
Editing relations is quite easy, go to the 'Basic Relations' tab and start making changes. You can alter one relation or multiple relations simultaneously, the only difference is the button used to save changes. |
Product Relations
At the 'Product Relations' tab you can set up relation linking one product with another. To create a new configuration simply choose product which will trigger the relation from the 'Product' dropdown menu. Next, select a product which will be added from the 'Linked Product' |
Our module allows you to enable copying parent's product configurable options to the child product upon ordering them. To enable copying, mark checkbox next to configurable options and press 'Save Changes' as shown on the screen below. |
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 information about a relation, like main product, linked product, their owner or domain used by both products. |
Module also allows you to order records on the list by selected column through pressing on its headline. For example, to order by client name, press on the 'Client Name' column header as shown on the following screen. |
You can use filters to display only specific records. To open filters form, press 'Toggle Filters'. |
You are able to set up filtering by client name, both main and linked products and domain. When you select values you desire, click the 'Filter Results' button (red arrow). |
Module Logs
If there was any trouble with linked products, information about error will be displayed at the 'Module Logs' page. Error messages can be found at the 'Clean Response' and 'Parsed Response' columns. |
You can look for the product with details you found in the previous step, but a way faster method is to use a link. All you have to do is enter value of '[accountid]' in place of account_id in the link below. your_whmcs/admin/clientsservices.php?id=account_id To confirm if you are looking at the right product, check if a domain in the product matches the domain you found in the error log. |
Settings
In the 'Settings' section you may manage the promo codes assignment to linked products and add some information to the order form. Due to the assignment of promo codes to the relation, it may happen that multiple promo codes will be assigned to one order form. WHMCS does not support such actions, |
3. Display Product Info - if this option is selected in the 'Settings' section, there is information visible on the linked product on the order form. |
Exemplary Connections
At the 'Exemplary Connections' section we will show you how to set up relations between specific products. One of the many possibilities is connecting cPanel Manage2 For WHMCS, DirectAdmin Licenses For WHMCS and Odin Key Administrator For WHMCS with other products. |
cPanel Extended + cPanel Manage2
In these steps we will show you how to link cPanel Manage2 with cPanel Extended through the product addon. Note: You can also link them using configurable options. |
2. Open the 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark the 'Show on Order Form' checkbox. Confirm changes through pressing 'Save Changes'. |
3. It is time to create the product addon which will trigger the relation. Go to 'Setup' → 'Products/Services' → 'Products Addons' and press 'Add New Addon'. |
4. Enter addon name, its description and recurring price. Choose billing cycle from the 'Billing Cycle' dropdown menu. 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. |
5. Now, create relation at your 'Product Linker' → 'Basic Relations'. |
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. Do not forget to type the domain and IP address. Afterward, press 'Submit Order'. |
Select 'Run Module Create' and press 'Accept Order'. |
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the addon. |
DirectAdmin Extended + DirectAdmin Licenses
In these steps we will show you linking DirectAdmin Licenses to DirectAdmin Extended through the product addon. Note: You can also link them using configurable options. |
2. Open the 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark the 'Show on Order Form' checkbox. Confirm changes through pressing 'Save Changes'. |
3. It is time to create the product addon which will trigger the relation. Go to 'Setup' → 'Products/Services' → 'Products Addons' and press 'Add New Addon'. |
4. Enter the addon name, its description and a recurring price. Choose a billing cycle from the 'Billing Cycle' dropdown menu. 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. |
5. Now, create a relation at your 'Product Linker' → 'Basic Relations'. 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. |
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. Do not forget to type in the domain and IP address. Afterward, press 'Submit Order'. |
Select 'Run Module Create' and press 'Accept Order'. |
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon. |
Plesk Extended + Plesk Key Administrator
In these steps, we will show you how to link Plesk Key Administrator with Plesk Extended through a product addon. There are a few key types in your Plesk Key Administrator that are licenses for Plesk Extended. |
1. Start by creating the 'IP' custom field at the main product which will be visible on the order form. Go to 'Setup' → 'Products/Services' → 'Products/Services' and edit your Plesk Extended product. |
2. Open the 'Custom Fields' tab, enter 'IP' into 'Field Name' and mark the 'Show on Order Form' checkbox. 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): /\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]?) Confirm changes through pressing 'Save Changes'. |
3. It is time to create the product addon which will trigger the relation. Go to 'Setup' → 'Products/Services' → 'Products Addons' and press 'Add New Addon'. |
4. Enter an addon name, its description and a recurring price. Choose billing cycle from the 'Billing Cycle' dropdown menu. It is advised to set up the same billing cycle as in the main product. |
5. Now, create a relation at your 'Product Linker' → 'Basic Relations'. |
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. Do not forget to type an IP address. Afterward, press 'Submit Order'. |
Select 'Run Module Create' and press 'Accept Order'. |
If a new entry appeared as the one marked on the following screen, you have successfully configured both products and linked them through the product addon. |
Client Area
At this section we will try to visualize how a client may benefit from the connections made between certain products. Let's take a look at an exemplary situation. |
Administrator has created a connection between a VPS product: VPS 2x2.4GHz 16 GB RAM, 1TB HDD and allowed to purchase two addons along with it: |
When items are activated, the client may see their pricing on the products list. |
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.
|
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 activated. |
Update Instructions
Essential guidance through the process of updating the module is offered here. Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price! |
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |