Savant2 sports a powerful new form plugin that lets you build forms using only Savant2 plugin calls. In a way, it is a template-logic version of HTML_QuickForm as far as layout and presentation are concerned (but it doesn’t do anything with validation or processing, c.f. my earlier comments on forms).
The Savant site is powered by YaWiki 0.17.2, a custom stylesheet, and a custom header template (in Savant2 of course :-). Soon I’ll release an update to YaWiki that will allow much finer control over the Text_Wiki processing engine using groups in the Yawp config file.
If you have not heard of Savant, it’s not because I haven’t evangelized it at every opportunity; I bill it as “the simple and elegant alternative to Smarty.” But just in case you haven’t heard yet … 😉
Savant is a powerful but lightweight object-oriented template system for PHP.
Unlike other template systems, Savant by default does not compile your templates into PHP; instead, it uses PHP itself as its template language so you don’t need to learn a new markup system.
Savant has an object-oriented system of template plugins and output filters so you can add to its behavior quickly and easily.
Savant has an extensible error handling system. While Savant uses its own minimalist error class out-of-the-box, it supports PEAR_Error and PEAR_ErrorStack. You can also add your own error classes to support your favorite framework error system. Error-handling hooks are provided in the standard Savant class.
Even though Savant does not come with one, you can write your own markup compiler and hook it into Savant. This means you can invent any markup system you like; as long as your compiler turns it into a PHP script, Savant will be able to use it. As with the error handler, you don’t need to extend Savant itself to do this; compiler hooks are provided in the standard Savant class.
Savant is streams-aware and can use any stream as a template source.
Be sure to visit the Savant website for more information, including download and installation instructions, tutorials, and reference materials.