Are There Any Cs-Cart Dev Docs That Explore The Flow At Runtime? How They Construct What/where Views/blocks? What Events/listeners Can Be Triggered?

To put it blunt, I'm thrown into using CS and tired of looking through the CS file system [on the clock] for things or locations that are obvious in pretty much all other MVC's ive used. There are no docs that i can find to describe anything more than basic dispatch, hooks etc.

To me its confusing to "reverse engineer" in any short timeframe -- the controllers seem cross mode, abstracted, micromanaged, and fragmented in CS with functions outside of /functions dir to boot. Is there a concise [visual] overview of how controllers VS functions VS model VS events work in various types of situations and perhaps how Tygh core comes into play under this gigantic schema?

Example, i just wanna build a proper brand's link and image on product page. That should take like 10 minutes, right? Prob taken less than that on other MVC's. So far ive spent 20 just trying to backwards scope where the smarty vars even come from, then dig around for functions defined elsewhere, another 10 googling around, hmm. Where are the dev docs, function overviews, and dispatch routes, etc when we need to understand how a particular part of the platform works?

PS: Feature filter on prod page dont work right for brands cause they drop you into parent cat filtered by that brand instead of the whole brand page itself. The include with image rewrites it illogically with a string and makes it linkless.

PSS: This page helps a little, but its too basic and pretty much just describes what a route [dispatch & mode] is and how to make vars available to tpl. Looking for some juicy details rather than a 10,000 foot view.

PSSS: This page had a good start, but is half baked and barely there for 4.x series. Apparently its depreciated too.

You will find that functions that are outside of the /functions directory are usually controller specific and only used for a specific controller. I.e. import() is specific to the 'exim' controller and is contained in the controller.

The templates are the worst from a construction standpoint. Lines that are 200 characters long, little use of whitespace and constant calls back upstream to the Business Layer. Also use of 'capture' tags to make data global makes things difficult to follow and difficult to modify unless there are hooks within the capture..

If you'd like to ask specific questions, might be able to help you. But difficult to respond to a rant. There are very few developer docs. Best you'll get is the knowledge base. Otherwise, you'l have to dig in like the rest of us and build up your knowledge over time. Or if you want to ask specific questions, many of us here are willing to help. But we generally won't do the research for you.

tbirnseth pretty much said it all.

At the start you will see a learning curve, but later you will appreciate that cs-cart is nice piece of organized code.

Having said that I still hate smarty because its difficult to debug through them.

Please ask pointed questions and the community will respond, if not take the help of cs-cart helpdesk.

To put it blunt, I'm thrown into using CS and tired of looking through the CS file system [on the clock] for things or locations that are obvious in pretty much all other MVC's ive used. There are no docs that i can find to describe anything more than basic dispatch, hooks etc.

To me its confusing to "reverse engineer" in any short timeframe -- the controllers seem cross mode, abstracted, micromanaged, and fragmented in CS with functions outside of /functions dir to boot. Is there a concise [visual] overview of how controllers VS functions VS model VS events work in various types of situations and perhaps how Tygh core comes into play under this gigantic schema?

Example, i just wanna build a proper brand's link and image on product page. That should take like 10 minutes, right? Prob taken less than that on other MVC's. So far ive spent 20 just trying to backwards scope where the smarty vars even come from, then dig around for functions defined elsewhere, another 10 googling around, hmm. Where are the dev docs, function overviews, and dispatch routes, etc when we need to understand how a particular part of the platform works?

PS: Feature filter on prod page dont work right for brands cause they drop you into parent cat filtered by that brand instead of the whole brand page itself. The include with image rewrites it illogically with a string and makes it linkless.

PSS: This page helps a little, but its too basic and pretty much just describes what a route [dispatch & mode] is and how to make vars available to tpl. Looking for some juicy details rather than a 10,000 foot view.

PSSS: This page had a good start, but is half baked and barely there for 4.x series. Apparently its depreciated too.


Hi fdo,

Thank you for the post.
Actually the CS architecture is not perfect and it takes some time to understand it.

I would appreciate if you could list some points that should be covered in the dev docs.
Probably the best would be a list of your use-cases (problems your faced) as the beginner with CS-Cart.
- How to find a controller
- how to find a smarty variables
etc.

Looking forward for you help.