From: Mike O. <ir...@ms...> - 2001-04-06 16:34:02
|
On Fri, Apr 06, 2001 at 03:28:31PM -0000, Sasa Zivkov wrote: > What Template System Should Be and What Template System Should Not Be Oh, so you DID write about what the template system should not be. I guess we're crossing in the mail. > we want programers to write the code and we want > designers to make HTML. Yes, the purpose is to separate logic from presentation, so that one can be changed (or completely replaced) without affecting the other. I have already ported three personal sites from HTML to Zope to PHP (ASP style) and am now putting them into Webware. Changing the templates is the most time-consuming part by far because of the assumptions built into the templates about the environment it's running in. Meanwhile at work we have made a site (http://embedded.linuxjournal.com/) using PHPLib's template class, and it is a much better model. If we were someday to switch this site to Webware, I could just drop in the templates as is. What a glorious thought! > If we start to make a template system where somebody can actually put > some logic (loops for example) into the template, or where the > template knows something about the code (method or function name for > example) then we are building a new language. Hello, DTML. There is another limitation to the PSP/ASP/DTML model. It doesn't handle nested templates very well. Say you have a common page header/footer format. The DTML/PSP/ASP way is to put <dtml-var standard_html_header> and <dtml-var standard_html_footer> at the top and bottom of your template. Thereby hard-wiring your template to this particular implementation. In contrast, if your page is built from the inside out, first parsing a content template (which contains ONLY the content portion of the page), then using the entire content as a plug-in variable for your common framework, the bulk of your pages do not have dependencies to this one implementation. -- -Mike (Iron) Orr, ir...@ms... (if mail problems: ms...@ji...) http://mso.oz.net/ English * Esperanto * Russkiy * Deutsch * Espan~ol |