Quote from: ATeX at Aug 27, 2007, 03:31 PM
Hi,
I’m a professional webdesigner and I was wondering about certain functionality elements of ModX while searching for a new CMS solution. Would ModX be able to provide us the following?
* custom tables with custom fields (or a way to store elements with custom fields that could be used in the templates later on)
* user system with per page access administration
* is the templating system capable of including other templates? (e.g. header, footer, ...)
Template variables and placeholders will give you custom fields that will be stored with a document, but if you want a table that is the result of a database query and will show different data at different times, I think that might require more work. Someone here who’s done more of that kind of work can probably give you a better answer.
Per page access is a piece of cake (and, I think, will be even easier with version 0.9.7, due "real soon now). Pages are assigned to groups and users are assigned to groups. It’s ridiculously easy to specify which pages can be accessed by which groups. If, otoh, you want to have a large number of users and give each user access to his or her own page, it might be cumbersome to do all the assignments unless you write some custom code to do it for you. I don’t think MODx has this capability out of the box (though I could be wrong).
In MODX, you don’t have templates inside templates but the functionality is there in another form. Chunks are pieces of html code that, once created, can be inserted into any and all pages just by adding {{chunkname}} at the desired location. That’s the way you’d do a header or footer. Snippets are essentially the same thing but contain active PHP code that executes so that the output can be customized in endless ways. Snippets can contain chunks as well.
MODx also includes a way of giving your users the capability to edit selectable parts of the pages they can access using a rich text html editor while protecting the parts that you don’t want them to be able to change. Again, this should be improved in 0.9.7.
Hope this helps,
Bob