Customising the manager experience for clients is very important for us, as we strive to give them the easiest experience possible. To help customise the experience we use ManagerManager extensively and find it really fantastic, but there are limitations to the customisations you can make with Javascript. Modules have never been popular with us because the split between document tree and module has proved confusing to clients. We've even gone as far as editing the manager source code to add additional document types that show up in the document tree (like 'Gallery' and 'Event'). However this makes upgrading MODx tricky, and to solve that problem we've developed custom TVs for MODx.
For the last 5 months we've been using the custom TVs with great success. Clients love them because of the ease of use and extra control they get; we're satisfied because we've provided a great user experience and features that would have been impossible before without hacking the MODx core.
What are custom TVs?
MODx provides a list of TVs we can use - text, rich text, Image etc. This extension allows you to create new types of template variables which appear on the page just like the in-built ones.
What can we do with them?
Well your imagination is the limit, but here's some things we've created for our clients:
- Frequently asked question - let the client select which questions from a central pool to list on each page, and reorder them per-page.
- Products for sale or events - we use this to great effect on Emarketeers
- Easy to manage photo galleries - everything on one page in the MODx tree, and no modules to contend with
This video shows some of our custom template variables in action
Download
The code for Custom TVs for MODx is open source and has been submitted for inclusion in a future release of MODx. To use it you can download and apply the source code patches for Evo 1.0.3 from the MODx issue tracker (they're found here and here). For your convenience, we've provided a pre-patched version of MODx to make it easier to get started. This is the standard MODx Evo 1.0.3 release with the patches applied; no other changes have been made.
[This release made 19 June 2010, based on MODx 1.0.4;
Previous: 21 May 2010; fully tested if MODx is installed in a subdirectory, not the webroot. 17 May 2010; fixes one small issue if not installed in webroot. First release: 9 May 2010]
Note: You must use PHP5 to use Custom template variables
Updates
We'll set up a mailing list and twitter soon to let you know of updates. For now, please watch the MODx forum thread.
Documentation
Coming soon! For now, see the contents of the assets/tvs folder for an example.
Drawbacks
Our internal prototype lets you add parameters to TVs (just like plugin params, or TV widget params) which reduces the duplication of custom TV code needed. At this time it's not clear if this feature would be accepted into the MODx core, so we have removed it from this release.
Bugs / Comments?
We're currently gearing up our infrastructure to support open source code releases; for now please post bug reports in this thread in the MODx forums.
Like what you see but don't have the skills to develop your own custom TVs? Chat to us today and let's see how we can help you.
