Hello, I'm using the basic_cart module for a few sites. (I am not using the basic_cart_order module).

In the 7.x-2.0-rc1 version the cart form redirects users to the checkout page as desired, but in both 7.x-2.0-dev and 7.x-3.0-dev the menu callback 'checkout' is missing even though the simple_cart module still does a drupal_goto() from the cart.

It looks like the checkout form is just missing from simple_cart.cart.inc. I'm not sure if it was moved to a simple_cart.checkout.inc or some other file that was never git-added, but the module is broken without a checkout page.

Comments

Alex Dicianu’s picture

In the 3.0 version, the checkout form was thought to be more flexible, mainly because people had requests to add various extra fields to it and the only solution was using a custom module.

In this new version, the module uses the node/add form for the "order" content type. This implies having the basic_cart_order module enabled. Once you enable this module, you can add whatever fields you wish to the checkout form, by modifying the content type.

jenlampton’s picture

Ah, I see. Was the change committed to the 2.x branch accidentally, then?

I don't need anything the basic_cart_order module provides, and I'm not interested in using any of the other modules it lists as dependencies, so I won't personally be using the 3.x branch.

If basic_cart will not work "out of the box" in the future without the basic_cart_order module that should be explicitly stated on the module page. Also, we're slipping into the rabbit-hole of a not-basic cart. ;)

I see that you are seeking co-maintainers. I love, love, love the basic_cart module as of 7.x-2.0-rc1. I would be interested in maintaining it (but not basic_cart_order). I'm not sure what your plans are for the 2.x branch at this point, but basic_cart_order may need to remain at least as-is for existing users. How would you feel about basic_cart (as a satnd-alone from 7.x-2.0-rc1) being preserved as another project?

I'm going to take a pass through the issue queue and see what requests and comments people have.

Alex Dicianu’s picture

I tend to agree with you that for a "basic" cart, the basic_cart_order module has quite a few dependencies.

The reasons behind the 3.x branch are a more flexible order form and using drupal's api more, instead of creating custom forms and pages from code. Unfortunately this has made the module a little less basic, although most of the dependencies are introduced by the features export. They could easily be removed by manually creating the order content type and fields.

Anyway, if you wish to grab the 2.0-rc1 version and start a new module, it would be perfectly fine with me. But as I unfortunately don't have much time for the project, I could give you admin rights and you could continue the 2.x development as the main branch. People seem to love the simplicity of the 2.x more.

As I see it now, if you need the 3.x functionalities, you would probably be better of using commerce. It does have a richer feature set registering orders, adding payment options, product extra fields, etc. If the real need for this module is the 2.x branch, then I don't mind dropping 3.x ...

jenlampton’s picture

Version: 7.x-3.x-dev » 7.x-2.x-dev

I understand the reasoning behind the approach for the 3.x branch, but it does quickly slip down the rabbit-hole. There *is* a lot of "room" between what basic cart does and the Commerce project. It makes some sense to move Basic Cart one step closer to commerce, as long as we also still have a super-basic cart at the low end of the spectrum.

I was thinking about taking the basic_cart module and moving it over to the Simple Cart project. (see https://drupal.org/node/2174767 where I offered to take over that project, and provide an upgrade path) I haven't heard from the project maintainer yet, so may need to escilate that to d.o webmasters if we want to go that route.

If that's the outcome then we could have a spectrum like this:
- Simple Cart (basic_cart module on its own - renamed)
- Basic Cart (basic_cart_order module and all it's bells and whistles)
(in fact, there's still a lot of room in here)
- Ubercart (almost anything you can think of)
- Commerce (zomg it's everything)

However, if you are having second thoughts about the 3.x branch and want to refocus on 2.x I could get behind that too. Did you have any specific thoughts on how to handle basic_cart module vs basic_cart_order module in 2.x?

jenlampton’s picture

Title: Basic Cart checkout page accidentally removed from 2.x and 3.x branches » Checkout page accidentally removed from 2.x branch?

It also looks like the payment integration work has been done on the 2.x branch as well. The more I think about it I think it will be easier to take only basic_cart and move it elsewhere... there's just so much work done here that would be lost (or not continued) if I took over the 2.x branch here.

If you'd like to discuss real time ping me in IRC, let's see what we can work out :)

unqunq’s picture

For those who may be in for some quick help without using the 'basic_cart_order' module:

Enabling the checkout button in basic_cart.cart.inc line 62

  // Checkout button.
 - if (module_exists('basic_cart_order')) {
    $form['buttons']['checkout'] = array(
      '#type' => 'submit',
      '#value' => t('Checkout'),
    );
 - }

and at line 91:

-  if (module_exists('basic_cart_order') && $form_state['values']['op'] == t('Checkout')) {
-    drupal_goto('checkout');
  }
+  if ($form_state['values']['op'] == t('Checkout')) {
+   //drupal_goto('checkout');
+    dsm("Call some custom functionality and generate order.");
  }

I am handling orders on a different site so the module as it's built now is exactly what I need. Thanks.

jenlampton’s picture

Or... you can just use the stable 7.x-2.0-rc1 and you get the add to cart button without the orders module. ;)