Update:Archive/2.0/Developers/Templates: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 61: Line 61:
# [[http://www.source-code.biz/MiniTemplator/|MiniTemplator]]
# [[http://www.source-code.biz/MiniTemplator/|MiniTemplator]]
# [[http://www.virtualcreations.com.au/mark/tagtemplate.htm|TagTemplate]]
# [[http://www.virtualcreations.com.au/mark/tagtemplate.htm|TagTemplate]]
# [[http://www.ultratemplate.com/main.php|http://www.ultratemplate.com/main.php]]
# [[http://templatepower.codocad.com/|Template Power]]
# [[http://templatepower.codocad.com/|Template Power]]
# [[http://vlib.activefish.com/|vLibTemplate]]
# [[http://vlib.activefish.com/|vLibTemplate]]
Line 90: Line 89:
# [[http://www.vbulletin.com|vBulletin]] - has it's own template langauge
# [[http://www.vbulletin.com|vBulletin]] - has it's own template langauge
# [[http://extemplates.narod.ru/|ExTemplates]]
# [[http://extemplates.narod.ru/|ExTemplates]]
# http://pinkgoblin.com/index.php?view=scripts
# [[http://www.templatetamer.com/|TemplateTamer]]
# http://www.pgenie.org/
# http://www.templatetamer.com/


== Discussion ==
== Discussion ==

Revision as of 17:41, 22 January 2005

Update: Home Page » Suggestions » Templates

Templates

A template engine for the web should meet certain criteria.

http://wact.sourceforge.net/index.php/GoodTemplateSmells

  1. Pass the Dreamweaver test.
  2. Simplicity.
  3. Validating.
  4. Cacheable.
  5. Self-Inspecting.
  6. Secure.
  7. Flexibility.

Templating Engines for Consideration

  1. PHP (yep PHP itself is a template engine)
  2. [[1]]
  3. XSLT - technically XSLT is also a template engine
  4. [[2]]
  5. [[3]]
  6. [[4]]
  7. [[5]]
  8. [[6]]
  9. [[7]]
  10. [[8]] (port of Zope templates)
  11. [Savant] - reclaiming PHP
  12. [[9]] - also reclaiming PHP
  13. [- Yet Another PHP Templating System]
  14. [[10]] (yet another yet another?)
  15. [Template] (French)
  16. [[11]]
  17. [- Easy Template System]
  18. [[12]]
  19. [[13]]
  20. [[14]]
  21. [[15]]
  22. [[16]]
  23. [[17]]
  24. [Template] (part of a mini framework)
  25. [[18]]
  26. [Template]
  27. [[19]]
  28. [[20]]
  29. [[21]]
  30. [[22]]
  31. [[23]]
  32. [[24]]
  33. [template]
  34. [[25]]
  35. [[26]]
  36. [[27]]
  37. [Wrapper]
  38. [[28]]
  39. [Template]
  40. [[29]]
  41. [template engine]
  42. [Template]
  43. [Clone] - drop in replacement for FastTemplate.
  44. [But Strong]
  45. [Turtle Template]
  46. [[30]]
  47. [[31]]
  48. [Power]
  49. [[32]]
  50. [Hayes Template class]
  51. [Template] (site is down? [entry])
  52. [[33]]
  53. [[34]]
  54. [[35]]
  55. eZ Publish 2.x Templates
  56. [Publish 3.x Templates] - very different to 2.x
  57. [[36]]
  58. [Template]
  59. [Template] - not sure about this one - seems to be about turning PHP into an intepreter
  60. [[37]] (formerly known as ShellPage)]]
  61. PHP-DOM extension (HTML support)
  62. [[38]]
  63. [(former Apolda Template)]
  64. [Template]
  65. [Template Compiler]
  66. [[39]]
  67. [[40]] - implements it's own template engine
  68. [[41]]
  69. [[42]]
  70. [[43]]
  71. [[44]]
  72. [Side Template Parser]
  73. [Object Oriented Templates]
  74. [[45]] - has it's own template langauge
  75. [[46]]
  76. [[47]]

Discussion

http://www.sitepoint.com/forums/showthread.php?threadid=123769

http://wact.sourceforge.net/index.php/TemplateView

morgamic's take

A solid application structure could eliminate the need for a comprehensive templating engine. Wrapping HTML output is a relatively simple task done by using includes in parallel with proper use of CSS. I always question templating that extends beyond that in terms of complexity.

As with PEAR::DB or adodb, I think the use of a templating engine should only be considered if it is the right thing to do.

That said, I question whether adding the layer of complexity and adding another dependency is really necessary if we can use CSS for all of our presentation.

Don't get me wrong -- I'd definitely like to se HTML wrapped in functions where appropriate and a good segregation of PHP and HTML in order to have some sort of uniformity and structure when it comes to each .php script. I think that is a great goal and should definitely be realized in any good application.

But if we can use CSS properly, all HTML output will be exactly the same with the exception of DOM identifiers when appropriate, using templating or skinning the whole app should be reduced to a matter of switching stylesheets. From there, it's just a matter of packaging your markup properly, which is not something I see us needing a separate tool for.