Hey all, if anyone is interested, we released a boilerplate addon on Github. It's a functioning example of how to create a product addon, with some baked in features like mass edit capability:
If you are interested in getting involved with addon development, it's a great place to grab a functioning template/structure, and see a working example of concepts that may seem buried or vague otherwise. If you are an experienced dev, it's a template to grab addon features in a way that is predictable to string/file replace.
We have also been wrapping some great open source (OSS) libraries for CS-Cart, pulled from Cloudflare's https://cdnjs.com CDN when possible. It's a meager list but growing -- we are open to wrapping any cdnjs.com library for CS-Cart, just let us know if you need something addon-ified. Fontawesome in your addon? Underscore? No Worries:
With all these examples and libraries, you may need a way to look at what is happening in your addon. CS-Cart includes a native fn_print_r() wrapper for viewing output at specific places in your code, but its very basic. Lets take it a step further!
The x_r() and x_dump() debugger functions give you the same flexibility, but with more options for output. For example, x_r() can simply dump the contents of an array and exit, just like fn_print_r(), but with stack trace, and without the unnecessary styles. It can also loop itself into output to see iterations, and even present itself as an expandable object at chrome console. Its brotheren x_dump() writes to a file instead. This is useful in times when *any* output would corrupt the response, like AJAX/Http::get calls to controllers:
We use these tools literally everyday, and hopefully someone out there could use them too. Thanks all, Dev On!