Hi Ryan, you can definitely accomplish all three - and basically anything - with MODx.
But it depends on whether you are expecting all this to work ’out of the box’ with a few add-ons; or whether you are prepared to put in a bit of custom php coding. Honestly, I don’t know of any CMS that would do all this without some extra code.
1 - Form controls linked to tables. For example a country drop down box which lists all the countries. If "USA" is selected, then another box would appear offering a selection of states.
Have a look at
Formit Country Options for how to use the built in Country / State lists with FormIt.
2 - A form which submitted a record to a table. For example there would be a "NFL Football Players" form. When "Dallas Cowboys" is selected, a user could add their favorite player to the form. Player name, position, height, weight, jersey #, etc. would all be added. When the "submit" button is pressed the record would be validated then submitted.
Here’s a nice guide on how to set up
custom DB tables. You’ll end up with complete xPDO functionality so if you know some php it will be a breeze to create new teams and players from a front-end form. MODx has built in user management, so no problem there.
3 - A dynamic web page would be created on the site based on the submitted record in #2. So if a Troy Aikman record was submitted, the URL might be mysite.com/cowboys/troy-aikman. The page would show the information as static, but users would be able to add comments similar to a blog.
With a bit of nudging you can set up friendly urls with a custom request handler to achieve this. You can look at
Quip to handle commenting.
Hope that helps! Don’t forget, there’s plenty of useful information here on the forums and lots of people eager to help if you need it.
Luke