New module: uc_cano forked as uc_conditional_attributes

I have been using uc_cano on a few Ubercart sites and found that it is a great module for restricting attributes combinations when one attribute only makes sense if a certain option is selected on another attribute. Unfortunately, the module is very minimally maintained and there are many bugs present in the most recent release. Several community patches have shown up to fix some of the issues, but they need to be mixed and matched to get a working module. Furthermore, out of the box uc_cano is not compatible with the uc_node_checkout nor uc_aac modules.

In order to future centralize development efforts, facilitate releases and maintain a more up-to-date code base, I have collected the various community contributions plus written several fixes of my own and forked uc_cano as uc_conditional_attributes, now available on at I hope you enjoy the new module! A dev release is available and I am hoping to add the first stable release soon after two known bugs are taken care of.

Some the changes I have made to cano include:

  • Rewrite of the JavaScript code and the addition of hooks
  • Addition of a new hooks & preliminary API for other modules to use
  • Compatibility with uc_aac (patch also required to uc_aac until it gets accepted upstream)
  • Compatibility with uc_node_checkout


Hi Stewart,

I'm interested in using this module on a project I'm currently working on. Obviously using a dev module on what will be a live site is risky (even foolish) so I wanted to ask you whether you had a rough timeline for completion. I'd be happy to contribute to testing the module and providing feedback. I'd also be willing to contribute a small amount of cash (I'd love to contribute a large amount of cash, but the job ain't that big!).

I plan on uploading the current dev module to my development site today, just to get a feel for the module. I'd welcome any comments or recommendations you had about using the module on a live site.



Hi Rohan,

I am using that dev version of the module on (less one patch that I will commit shortly - within a few days) on a few sites and so far it's been working well. The only issues I have found is that it is not completely performance optimized yet for products with a large number of attribute combinations (>1 million). Even then, it is still pretty snappy but I am just mentioning this because it could be improved. The primary reason I haven't marked the initial release as stable is just because I am aware of a functionality and not stably issue that I need to address through the patch I mentioned above (the bug is that nested dependencies may not work correctly in some situations).

Please let me know how the test of the module goes and I'll be happy to help address any issues you discover. Thank you or offering a cash contribution, I very much appreciate it!


So I double-checked and it looks like I've already included patch for the nested attribute bug in the dev release, so the only thing stopping me from marking it as stable is lack of testing feedback. I can confirm it's working for me, if it works for you too then I'll tag a stable release.

Now, when you fixed the bug in the patch, it seems everything works fine for me too. But, nevertheless, you'd better hear other user's responses on that. By the way, great thanks!

Sorry about that! I had used another module's project page as the template when writing this one and forgot to change the URL.