Integrating a Shopping Cart into CMSB

23 posts by 12 authors in: Forums > CMS Builder
Last Post: February 17, 2014   (RSS)

By Perchpole - August 15, 2013

Hello, All

For years I've been searching for a good ecommerce system to work alongside CMSB. I finally think I've found one. It's called Cartweaver (CW4) and is available here:

http://www.cartweaver.com

It's perfect for CMSB and for the last few weeks I've been busy trying to get the two systems to get along together! So far - so good. Apart from a couple of issues everything seems to work and I can present both CMSB and CW4 data on the same page.

The two major issues are these:

Both systems require session_start().

Both systems have a function called isValidEmail.

These causes conflicts. At first I took a pretty direct line to resolving the issues by simply commenting-out the offending code in CW4. It worked - but it's probably not the best approach. Besides, I then realised that without session_start() I was unable to login to the CW4 backend!

So, I need to take a more pragmatic approach. What are my options?

1) isValidEmail - There are a total of 16 instances of isValidEmail in the code of both systems. Could I simply rename one? EG: isValidEmail2.

2) CW4's session_start() needs to be off when the code appears next to CMSB code - but on when I use the admin functions. How do I do it?

Any help would be most appreciated.

:0)

Perch

By Steve99 - August 15, 2013

Hi Perchpole,

Not sure when it's coming down the pipe, but there will be an official CMSB e-commerce plugin. I've been told that it's currently in development, but as we all know dev schedules especially one of that nature can be unpredictable in timeline.

If you need something now, I'd contact the Interactive Tools crew and hire them to put something together for you. We had them take care of an e-commerce piece for us and it worked out great.

Cheers,

Steve

By gregThomas - August 15, 2013

Hi Perchpole,

As Steve mentioned we do have our own custom shopping cart system we can integrate, but we currently have no plans to release this as a stand alone plugin. We've found that each cart integration has its own rules and  payment processors that people want to use, and this would make releasing it as a plugin difficult.  We could quickly and easily add the system into a site for you, if you send an e-mail to consulting@interactivetools.com we can give you an estimate of the cost.

If you want to continue using CW,  you're going to have to make changes to the system code of both CW4 and CMS Builder, and we can't provide any support for issues from these changes. You could try wrapping the session_start functions in an if statement to check if the session has already been started:

if(session_id() == '') {
  session_start();
}

So if no session ID exists, then start the session. I'd try adding this line around session_start in both systems. 

You could also try renaming any occurrence inside cmsBuilder of isValidEmail to something slightly different, for example isValidEmailAddress, and this would stop the functions clashing. 

Let me know if you have any questions.

Thanks!

Greg

Greg Thomas







PHP Programmer - interactivetools.com

By Perchpole - August 15, 2013

Hi, Greg -

Thanks for the info and advice.

Dave mentioned the Cart to me once before and I was very interested - as I have been by a number of other "extras" I've heard mentioned around the forum before. The trouble is, they're usually spoken about in whispers and the only way to get more info is to put in a formal request!

There must be a whole list of things you've created for CMSB users (privately). I wish you'd just post a list of them along with an idea of the costs involved. I'm sure developers like me would be glad to make better use of your serices if we knew exactly what was available and how much it would cost.

:0/

Perch

By aev - August 15, 2013

Hi,

great suggestion, we would also appreciate to know what have and can be done through Interactivetools' consulting.

-aev-

By Jason - September 5, 2013

Hi,

The shopping cart system we have has quite a few built in features.  Here is a lit of what the cart can do:

  • Supports "products" from any number of CMSB sections
  • Supports users buying products whether they are logged in or not
  • Optional inventory control to ensure people don't buy more of a product than what is in stock
  • Built in "Coupon" functionality to allow you to create any number of custom coupon codes to promote your ecommerce system
  • Functionality to allow users to add/remove/update items in their cart
  • Functions to allow for custom calculations of tax and shipping.

In addition to these built in features, we can make extensions and customizations to accommodate any rules your site would require.  As Greg mentioned, the initial integration of the cart can be quite complex, so we currently only offer the shopping cart through our consulting service.  Prices range depending on exactly what you need.  If you would like to go through your requirements list we can talk about some options and prices.

Hope this helps

---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

By Perchpole - September 8, 2013

Hi, Jason -

This sounds very good. Just a couple of things:

1) Does the system send invoices and other emails after a sale?

2) Does the system record/store transactions in a database?

3) Finally, which payment gateways does it support? (Paypal, Sagepay, etc..)

Thanks,

Perchpole

By Jason - September 9, 2013

Hi,

1) The system sends out 2 emails after a successful transaction.  1 to the customer, showing the details of the order (ie, items, quantities, total, etc), and 1 to the site admins letting them know a new order has come in.  The same information is displayed, but there is a link in the email to the CMSB record for the order.

2) The plugin stores the order, and the order items in the CMS.  With the order it will store the billing and shipping information, as well as the transaction ID returned by the payment processor.  The plugin doesn't store any CC information for security reasons.

3) Currently, we support Paypal standard, Paypal pro, Paypal Payflow, and Authorize.NET (AIM).  If you require other processors, like Sagepay, we can custom build code for you, but this will add extra cost to the project.

Hope this helps,

---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

By Perchpole - September 9, 2013

Hi, Jason -

Thanks for the info. The bit I was interested in was whether or not the system would create an "order history" - by storing each transaction in a database. I apreciate you can't record CC data - but it's good to keep track of sales.

I created a useful PayPal IPN script to do this with a donation form, so I guess I could adapt it to do the same for the eCommerce script.

:0)

Perch

By Jason - September 9, 2013

Hi,

Yes, the system keeps track of each order that comes in.  When a customer makes a purchase when not logged in, they are given a temporary id, which is attached to the order.  This allows them to see essentially their last order.  If you are using website membership, and require users to log in prior to checking out, the order is associated with their user number.  This would make it easy to be able to display a list of orders for a given user and show them the details of those.

For the IPN, if you are using paypal standard, we have our own IPN script to work directly with the shopping cart plugin.

Let me know if you have any other questions.

---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/