Difference between revisions of "X-Cart:Integration with third party modules"

From X-Cart 4 Classic
Jump to: navigation, search
m
m
 
Line 35: Line 35:
  
 
'''Service names of X-Cart modules:'''
 
'''Service names of X-Cart modules:'''
Add_to_cart_popup
+
* Add_to_cart_popup
Advanced_Customer_Reviews
+
* Advanced_Customer_Reviews
Advanced_Order_Management
+
* Advanced_Order_Management
Advanced_Statistics
+
* Advanced_Statistics
Amazon_Checkout
+
* Amazon_Checkout
Anti_Fraud
+
* Anti_Fraud
Banner_System
+
* Banner_System
Benchmark
+
* Benchmark
Bestsellers
+
* Bestsellers
Customer_Reviews
+
* Customer_Reviews
Detailed_Product_Images
+
* Detailed_Product_Images
Discount_Coupons
+
* Discount_Coupons
EU_Cookie_Law
+
* EU_Cookie_Law
Egoods
+
* Egoods
Extra_Fields
+
* Extra_Fields
Fast_Lane_Checkout
+
* Fast_Lane_Checkout
Feature_Comparison
+
* Feature_Comparison
Flyout_Menus
+
* Flyout_Menus
Froogle
+
* Froogle
Gift_Certificates
+
* Gift_Certificates
Gift_Registry
+
* Gift_Registry
Google_Analytics
+
* Google_Analytics
Google_Checkout
+
* Google_Checkout
Greet_Visitor
+
* Greet_Visitor
HTML_Editor
+
* HTML_Editor
Image_Verification
+
* Image_Verification
Interneka
+
* Interneka
Lexity
+
* Lexity
Magnifier
+
* Magnifier
Mailchimp_Subscription
+
* Mailchimp_Subscription
Maintenance_Agent
+
* Maintenance_Agent
Manufacturers
+
* Manufacturers
New_Arrivals
+
* New_Arrivals
News_Management
+
* News_Management
On_Sale
+
* On_Sale
Order_Tracking
+
* Order_Tracking
PayPalAuth
+
* PayPalAuth
Product_Configurator
+
* Product_Configurator
Product_Options
+
* Product_Options
Products_Map
+
* Products_Map
QuickBooks
+
* QuickBooks
Quick_Reorder
+
* Quick_Reorder
RMA
+
* RMA
Recently_Viewed
+
* Recently_Viewed
Recommended_Products
+
* Recommended_Products
Shipping_Label_Generator
+
* Shipping_Label_Generator
Simple_Mode
+
* Simple_Mode
Sitemap
+
* Sitemap
SnS_connector
+
* SnS_connector
Socialize
+
* Socialize
Special_Offers
+
* Special_Offers
Stop_List
+
* Stop_List
Subscriptions
+
* Subscriptions
Survey
+
* Survey
TaxCloud
+
* TaxCloud
UPS_OnLine_Tools
+
* UPS_OnLine_Tools
Upselling_Products
+
* Upselling_Products
Users_online
+
* Users_online
Wholesale_Trading
+
* Wholesale_Trading
Wishlist
+
* Wishlist
XAffiliate
+
* XAffiliate
XPayments_Connector
+
* XPayments_Connector
XSEO
+
* XSEO
  
 
'''Names of sql tables:'''
 
'''Names of sql tables:'''
prefixed with "xcart_"
+
* prefixed with "xcart_"
  
'''Names of config sql variables:'''
+
'''Names of sql config variables:'''
See: sql/xcart_data.sql
+
* See: sql/xcart_data.sql
  
'''Names of language sql variables:'''
+
'''Names of sql labels:'''
See: sql/xcart_languages_US.sql
+
* See: sql/xcart_languages_US.sql
  
To avoid service name conflicts with Qualiteam solutions, developers of 3rd party add-on modules should avoid using the above listed service names for the purpose of naming entities pertaining to their work.
+
To avoid service name conflicts with Qualiteam solutions, developers of 3rd party add-on modules should avoid using the above listed service names for the purpose of naming entities pertaining to their work.<br />
It is strongly recommended that a unique prefix be used for your add-on module in all the language variables, sql-xcart_config, sql-xcart_languages, sql-xcart_modules, global variables, module name and names of module files.
+
It is strongly recommended that a unique prefix be used for your add-on module in all labels, sql-xcart_config, sql-xcart_languages, sql-xcart_modules, global variables, module name and names of module files.

Latest revision as of 15:48, 31 July 2012

3rd party module initialization

In version 4.4.3, the module initialization routine has been changed and optimized. Unlike in versions 4.4.0-4.4.2, initialization order now does matter.

For the standard modules, dependencies of the modules on one another are described in the function include/data_cache.php:func_sort_active_modules

If your 3rd-party module depends on other modules, and no other modules depend on it, you can place the initialization of that module to the very end of the module initialization queue.

Here is how you do that.

Index: include/data_cache.php

--- include/data_cache.php 2011-05-16 14:11:41.000000000 +0400
+++ include/data_cache.php 2011-05-16 14:11:37.000000000 +0400
@@ -144,6 +144,7 @@
'Image_Verification' => 33,# Image_Verification depends on Survey/News_Management
'Manufacturers' => 23,
'XAffiliate' => 24, #XAffiliate depends on Manufacturers
+ '3dPartyModule1' => 2000,
);
$key_a = isset($sort_order[$a]) ? -$sort_order[$a] : -1000;
$key_b = isset($sort_order[$b]) ? -$sort_order[$b] : -1001;

This patch means that 3dPartyModule1 will be initialized last for this array of modules.

If the order number of a certain module is not defined, it is assumed to be 1000. The initialization order for modules with identical module numbers is undefined.

Reserved service names

Below is a list of service names used by Qualiteam solutions:

Service names of X-Cart modules:

  • Add_to_cart_popup
  • Advanced_Customer_Reviews
  • Advanced_Order_Management
  • Advanced_Statistics
  • Amazon_Checkout
  • Anti_Fraud
  • Banner_System
  • Benchmark
  • Bestsellers
  • Customer_Reviews
  • Detailed_Product_Images
  • Discount_Coupons
  • EU_Cookie_Law
  • Egoods
  • Extra_Fields
  • Fast_Lane_Checkout
  • Feature_Comparison
  • Flyout_Menus
  • Froogle
  • Gift_Certificates
  • Gift_Registry
  • Google_Analytics
  • Google_Checkout
  • Greet_Visitor
  • HTML_Editor
  • Image_Verification
  • Interneka
  • Lexity
  • Magnifier
  • Mailchimp_Subscription
  • Maintenance_Agent
  • Manufacturers
  • New_Arrivals
  • News_Management
  • On_Sale
  • Order_Tracking
  • PayPalAuth
  • Product_Configurator
  • Product_Options
  • Products_Map
  • QuickBooks
  • Quick_Reorder
  • RMA
  • Recently_Viewed
  • Recommended_Products
  • Shipping_Label_Generator
  • Simple_Mode
  • Sitemap
  • SnS_connector
  • Socialize
  • Special_Offers
  • Stop_List
  • Subscriptions
  • Survey
  • TaxCloud
  • UPS_OnLine_Tools
  • Upselling_Products
  • Users_online
  • Wholesale_Trading
  • Wishlist
  • XAffiliate
  • XPayments_Connector
  • XSEO

Names of sql tables:

  • prefixed with "xcart_"

Names of sql config variables:

  • See: sql/xcart_data.sql

Names of sql labels:

  • See: sql/xcart_languages_US.sql

To avoid service name conflicts with Qualiteam solutions, developers of 3rd party add-on modules should avoid using the above listed service names for the purpose of naming entities pertaining to their work.
It is strongly recommended that a unique prefix be used for your add-on module in all labels, sql-xcart_config, sql-xcart_languages, sql-xcart_modules, global variables, module name and names of module files.