6 replies [Last post]
jullio's picture
Offline
Joined: 09/27/2007
Juice: 11
Was this information Helpful?

Integration with Civicrm has been a feature that really put aside. So I am creating this issue to collaborate with everyone so that we can get this started.

jullio's picture
Offline
Joined: 09/27/2007
Juice: 11
Address Integration

I want to create a ubercart civicrm module. This module integrates ubercart into civicrm.

Some of the features that could start with are as follows:

- Delivery Address and Billing address integration. Storing this information in civicrm instead of ubercarts system. This would integrate with order processing, taxes, and shipping modules. So all address related modules would be accessing civicrm address information to show a customers address.

I basically need to know how to save the address information in civicrm rather than in ubercart. I would like some advice on where I need to start and which functions I need to use to do this within ubercart's api.

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15438
Re: Address Integration

Within Ubercart, you're actually going to need to define a set of checkout and order panes to handle pulling addresses from a remote location. Unfortunately, the panes I have right now are limited to using addresses stored in the database. Flexibility in this area would be a good goal for Ubercart 2.0 whenever that comes around. Eye-wink

However, if you were to copy the billing/delivery address panes for checkout and orders, you can easily change them to save/load data from a remote storage location on those forms (like the CiviCRM database). Then, you can use hook_order() to load/save the data to the remote location whenever an order is being loaded.

Hope that's a good point in the right direction. Laughing out loud

I'd love to see an integration like this get coded.

jullio's picture
Offline
Joined: 09/27/2007
Juice: 11
Overide Default Panes

Is there a way to overide a default pane with an api call such as hook_checkout_pane or hook_order_pane. I specifically want to override the address checkout pane and address order pane. Is this possible and if not could it be possible.

I think this would be a clean way for contributors to change and customize this hard coded part of ubercart. This would enable me to create a module that overrides those panes and saves the info in civicrm per say. Then I could include the module in my ubercart install.

Then I would call hook_order and load my civicrm data in every time a order is being processed.

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15438
Re: Overide Default Panes

Yep, the easiest thing to do would be to just define new panes for those areas and then disable the default delivery and billing information panes at admin/store/settings/checkout/edit/panes. So, you can't exactly override an existing one, but you can very easily copy it to a new one and modify it to your liking.

bmagistro's picture
Offline
Getting busy with the Ubercode.
Joined: 09/24/2007
Juice: 199
Re: Re: Overide Default Panes

I am actually looking at this and may try to tackle it since my site is using civicrm. What I am thinking of doing, is looking at how the current address sections work and have the module do the same as choosing an existing address from the ubercart database. I am not sure how this will go since civicrm is a rather large module and may not always be a part of the drupal database. But lets see where it goes.

bendiy's picture
Offline
Joined: 09/07/2007
Juice: 75
Re: Re: Re: Overide Default Panes

bmagistro, check this out, it might be of use to you. I still don't have the hooks into the order process in place, but the forms and an independent DB table are setup.

uc_addresses