VirtueMart - 1.1 Developer's Guide

Page of 44
Joomla! Integration
2
Table names have changed and got a prefix!! Use 
#__{vm}_tablename
 instead of tablename.
The 
#__
 stands for the dynamic Joomla table name prefix. The 
{vm} 
stands for the dynamic table
name prefix of VM which allows to have more than one shop in one database.
The  database  structure  of  phpShop  had  to  be  changed,  because  Joomla  provides  an  excellent
framework with session handling and user management. The following tables have been removed:
• auth_user_md5 (jos_users stores passwords)
• intershipper
• language
• sessions
There 
have 
been 
added 
several 
tables: 
jos_pshop_affiliate, 
jos_vm_affiliate_sale,
jos_vm_creditcard, 
jos_vm_manufacturer, 
jos_vm_manufacturer_category,
jos_vm_product_download, 
jos_vm_product_mf_xref, 
jos_vm_product_reviews,
jos_vm_product_votes, 
jos_vm_shipping_carrier, 
jos_vm_shipping_rate, 
jos_vm_visit,
jos_vm_waiting_list, jos_vm_zone_shipping.
4. Session handling
Joomla  provides  a  framework  with  session  handling  -  no  need  to  have  an  own  session  class!
No hidden_session() calls are needed anymore. The existing session class has become the global
link formatter! The functions url and purl are needed to format links SEF or append the Itemid
parameter.
5. Separation into component and modules
A Joomla site consists of various elements like components, modules, templates and Mambots -
most likely you will know components, modules and templates. A Component is the Main Part
of  the  Page  in  the  "Main  Body".  Can  be  installed/uninstalled  trough  the  Component  Manager
and have their own configuration/interface. Modules are sideblocks surrounding the Main body.
They can be installed/uninstalled and configured using the Module Manager. The Main application
"VirtueMart" is run in the component part. The Component contains all core files. The module
"mod_virtuemart" was written to provide all important links so the component can be controlled:
Category links, Mini-Cart, Product Search Form, Account Maintenance, Admin.
1.3. Joomla! Integration
The  Joomla  Integration  of  VM  is  very  special,  because  of  its  origin.  It  doesn't  completely  comply
to Joomla's Component Coding Standards. VM uses some own functions for database access, page
navigation, search and listings. By using old code from phpShop, this little bit of compatiblity can be
maintained (so one can integrate extensions written for phpShop).