A Complete List of PHP Template Engines?

I prefer fast template, it’s the first, fast, simple and effective, just how I like it :wink:

Spencer; DOMXML comes pre-installed as of PHP4.2.x I believe ? I didn’t need to download anything, all I had to do was move the DLL from the c:/php/extensions folder to my own extensions folder, then uncomment the extension found in the php.ini file yes ?

But as I found out yersterday, DOMXML doesn’t come with XSL-T by default and I’ve yet to get the limxslt.dll to work :frowning:

Try Harry’s site for some examples on using this extension, for the most part it does a good job of replicating the W3C standard :slight_smile:

Good Luck btw :smiley:

It will probably work fine. It’s just that I am developing it with 4.3.3 and have not had time to install older versions of the PHP distro to test it. Different versions of the DOMXML extension will be shipped with different versions of PHP on occasions when the extension is upgraded.

It should work on 4.2.x actually – if you try it and it break, let me know what breaks and I will see how serious it is. I was planning on doing some regression testing at the beta stage.

I believe Dr Livingston has answered your other queries :slight_smile:

My host is at 4.2.3

Tezza - I use this version for a while now and I’ll gladly test your libraries for you if you can provide an example to work from ?

If you’ve got a minute or two, email me a ZIP to

nukebaghdad@yahoo.co.uk

And I’ll get back to you tomorrow yes ? :slight_smile:

Thanks dude :slight_smile:

zip file is here

It includes functional tutorials which themselves use the library. If the tutorials work, then everything should be OK.

There are three basic tutorials. I plan on putting a great deal of effort into producing more.

You can see the tutorials in action on my server at home.
http://terencekearns.com/tutorials/
(it is 56k modem on static IP. excessive port scanning traffic has reduced transfer rates to average 1.5kb/sec). If you get a proxy error from Apache, it means my windows box has died :slight_smile:

I tried this a while back and must say i liked it. It was very functional even before the first main release.
And if the tutor page comes up blank it’s because you need to have Sablotron installed/available, it caught me out. I shouldv’e read the docs more thoroughly :wink:

Sorry about the sablotron thing. I really wanted the tutorials to work using the DOMXML’s XSLT but I had some issues (can’t remember at this moment). I was planning on looking into the problem before a stable release is issued. In the mean time, Sablotron (XSLT) will remain a requirement – at least for the tutorials anyway.

The fact that a blank page is thrown is very bad. There should at least be some sort of message saying you are trying to use sablotron but you don’t have it. I will look into that.

I’m keen to iron out problems so I appreciate the feedback.

Thanks.

I had a feeling I’d have to use Sablotron… Another extension installation is on the agenda again :slight_smile:

It’s a shame though that DOMXML has issues with XSL-T. Very disappointing since when you actually look at it, there is very little you can really do with XML without an XSL stylesheet.

Another one:

P.E.T. Processor Engine for Templates
http://php-pet.sourceforge.net/english_index.html

Could anybody stick this thread?

as soon as PHP runs out of templating systems :wink:

why? Is it bothering you?

I found this thread when looking for more information on php template engines. I started making a list from the posts of all the template engines. I’m sure I missed a few, but I thought I’d post it back for an overview of sorts.

  1. PHP (yep PHP itself is a template engine)<br />
  2. http://smarty.php.net Smarty
  3. XSLT - technically XSLT is also a template engine<br />
  4. http://pear.php.net/HTML_Template_Flexy -PEAR::HTML_Template_Flexy
  5. http://pear.php.net/HTML_Template_IT - PEAR::HTML_Template_IT
  6. http://pear.php.net/HTML_Template_PHPLIB - PEAR::HTML_Template_PHPLIB
  7. http://pear.php.net/HTML_Template_Sigma - PEAR::HTML_Template_Sigma
  8. http://pear.php.net/HTML_Template_Xipe - PEAR::HTML_Template_Xipe
  9. http://www.php-tools.de/site.php?file=/patTemplate/overview.xml - patTemplate
  10. http://phptal.sourceforge.net/ PHPTAL (port of Zope templates)
  11. http://phpsavant.sourceforge.net/ - PHP Savant - reclaiming PHP
  12. http://simplet.sourceforge.net - SimpleT - also reclaiming PHP
  13. http://yats.sourceforge.net/ - YATS - Yet Another PHP Templating System
  14. http://www.phpbb.com - phpBB template engine
  15. http://www.thewebmasters.net/php/FastTemplate.phtml - Fast Template
  16. http://www.tinybutstrong.com/ - Tiny But Strong
  17. http://yapter.sourceforge.net/ - YAPTER (yet another yet another?)
  18. http://www.simpleturtle.com/template/ - Simple Turtle Template
  19. http://www.source-code.biz/MiniTemplator/ - MiniTemplator
  20. http://www.virtualcreations.com.au/mark/tagtemplate.htm - TagTemplate
  21. http://www.ultratemplate.com/main.php - http://www.ultratemplate.com/main.php
  22. http://templatepower.codocad.com/ - Template Power
  23. http://vtemplate.sourceforge.net/ - Virtual Template (French)
  24. http://vlib.activefish.com/ - vLibTemplate
  25. http://sourceforge.net/projects/xtpl/ - XTemplate
  26. http://www.phpguru.org/template.html - Richard Hayes Template class
  27. http://www.bugi.biz/ - Bugi Template (site is down?
    http://www.hotscripts.com/Detailed/14787.html - hotscripts entry)
  28. http://www.massassi.com/bTemplate/index.php?page=home - bTemplate
  29. http://pukomuko.esu.lt/phemplate/ - Phemplate
  30. http://templeet.org/ - Templeet
  31. http://htmltmpl.sourceforge.net/ - htmltmpl
  32. http://phplib.sourceforge.net/ - PHPLib
  33. eZ Publish 2.x Templates
  34. http://ez.no/sdk/tutorials/view/templateissues - eZ Publish 3.x Templates
  35. http://templatepower.codocad.com/ - TemplatePower
  36. http://www.muze.nl/en/software/template/ - Muze Template
  37. http://ets.sourceforge.net/ - ETS - Easy Template System
  38. http://avantemplate.sourceforge.net/ - AvantTemplate
  39. http://www.servability.com/products/free/logictemplate/ - Logic Template - not sure about this one - seems to be about turning PHP into an interpreter
  40. http://www.maiatech.com/varpage.php - varpage (formerly known as ShellPage)
  41. PHP-DOM extension (HTML support)
  42. http://demo.deluxeportal.com/ - Template-X
  43. http://kuerbis.org/template/ - KTemplate (former Apolda Template)
  44. http://www.jvmultimedia.com/home/articles.php?articleId=8 - EZ Template
  45. http://4arrow.com/apps/template_compiler/ - 4Arrow Template Compiler
  46. http://sourceforge.net/projects/phpdudlik/ - DTE
  47. http://enzyme.sourceforge.net/ - Enzyme Template (part of a mini framework)
  48. http://dutchtpl.devfusion.nl/ - dutchtpl
  49. http://www.xaraya.com/ - Xaraya - implements it’s own template engine
  50. http://sourceforge.net/projects/bleetz - Bleetz
  51. http://asaplate.sourceforge.net/ - ASAPlate
  52. http://www.millipede.nl/ectemplate/ - ecTemplate
  53. http://www.freetemplate.de/ - Freetemplate
  54. http://www.phpclasses.org/browse.html/package/1132.html - FT
  55. http://modelixe.phpedit.com/ - ModelIxe - site’s down right now but this one is interesting - it’s the guy that’s developing phpEdit and the Freshmeat
    http://freshmeat.net/projects/modelixe/?topic_id=92%2C96 - description makes it sound a little ASP.NET like.
  56. http://www.astrofoto.org/people/roland/rFT/ - FastTemplate Clone - drop in replacement for FastTemplate
  57. http://sourceforge.net/projects/php-service/ - PHP-Service
  58. http://monsite.wanadoo.fr/phptempt/ - PHPTempt
  59. http://sourceforge.net/projects/qtpl/ - Quick Template
  60. http://sledgehammer.sourceforge.net/ - Sledgehammer
  61. http://simonster.com/software/sstp/ - Server Side Template Parser
  62. http://andy.greyledge.net/voot/index.php - Vanilla Object Oriented Templates
  63. http://www.vbulletin.com - vBulletin - has it’s own template langauge
    http://forums.invisionpower.com/index.php?showtopic=99166 - http://forums.invisionpower.com/ind...showtopic=99166 -The templating engine behind IPB:
    http://php-pet.sourceforge.net/english_index.html
    http://php-pet.sourceforge.net/english_index.html
    P.E.T. Processor Engine for Templates
    The latest incarnation is listed up there - http://simplet.sf.net
  64. http://www.phpclasses.org/browse.html/package/98.html - ATemplate
  65. http://www.phpclasses.org/browse.html/package/937.html - ctlTpl
  66. http://www.phpclasses.org/browse.html/package/1095.html - hierarchy template
  67. http://www.phpclasses.org/browse.html/package/361.html - InTemplate
  68. http://www.phpclasses.org/browse.html/package/903.html - lorenphplib_patternizer
  69. http://www.phpclasses.org/browse.html/package/807.html - MyTemplate
  70. http://www.phpclasses.org/browse.html/package/1111.html - Path Wrapper
  71. http://www.phpclasses.org/browse.html/package/905.html - phpoot
  72. http://www.phpclasses.org/browse.html/package/1032.html - Smart Template
  73. http://www.phpclasses.org/browse.html/package/658.html - Templato
    http://www.templatetamer.com/ - TemplateTamer
    http://www.phptemple.de - http://www.phptemple.de
    http://www.sourceforge.net/projects/phpmarker PHPMarker
    TPLN project http://tpln.sourceforge.net
    http://www.pgenie.org/
    http://php-pet.sourceforge.net/english_index.html - P.E.T. Processor Engine for Templates

What about the idea of using two inputs to the XSL Transform:

  1. XHTML file with custom tags for the page designer.
  2. XML (dynamically generated or otherwise)

This way you get the best of both worlds.

See:

“XSLT Designer Tags”:
http://xml.grumpykitty.biz/

“Style-free XSLT Style Sheets”:
http://www.xml.com/pub/a/2000/07/26/xslt/xsltstyle.html

“Template Languages in XSLT”:
http://www.xml.com/pub/a/2002/03/27/templatexslt.html

“Creating Truly Skinnable Web Sites”:
http://code.box.sk/newsread.php?newsid=198

Regards,

JT

Another Interesting Article on Templates:

Here is an article I like about using a SAX parser and a stack to invoke callbacks. One could use an XHTML file with XML-compliant tags as input to the parser and the callbacks “fill-in” the dynamic areas of the page. In fact, I created the following tags for it:

<template:transform xml=“data.xml” xsl=“style.xsl”/>
<template:include file=“somefile.php” eval=“true”/>

I allowed for transformations of dynamically generated XML and static XML files.

You could even put XML inline as in this scenario:

<template:transform xsl=“style.xsl”>
<include file=“generateCustomerList.php” eval=“true”/>
</template:transform>

or even static (if you wanted):

<template:transform xsl=“style.xsl”>
<customer>
<firstName>John</firstName>
<lastName>Timm</lastName>
</customer>
</template:transform>

So this solution allows for XML-compliant templates. I was thinking of adding support for loops and logic, but this can all be achieved with the above two tags. It is kind of a hybrid solution.

“XMLTemplate (in Python) by Patrick Lioi”:
http://patrick.lioi.net/archive/2003/09/13/162936

“Dynamic XML Conversion Using the SAX Parser and a Stack”:
http://www.phpbuilder.com/columns/scheffler20030325.php3

Regards,

JT

4image Template Engine
http://www.4homepages.de/forum/viewtopic.php?t=9907

You can download an easy to customize HTML Typo3 Template here

Typoscript vs XSLT

TYPO3 also supports the [=1266&cHash=7ce2d478e4]Smarty Template Engine](http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid)

Sorry to ask here.

Are we allowed to use Pear ones in our commercial applications?

Which of these have better licenses and less trouble if we want to use them in a commercial app?

Mac

Hi all,

I’ve read through the most of these posts in this thread. To my disappointment, I only see typo3 mentioned till on the last page.
I think there is hardly anything more user friendly than adding content to a typo3 site.
I’m actually looking for tezza’s opinion on this. Are there any (browser based) tools that can edit the XSLT doc and show the resulting pages (edited) on the fly? In typo3, users can edit a sites content and style in the backend of the site.
I know typo3 is a ‘CMS’, but it’s so flexible and powerfull that it can incorporate any other application.
Have a look at the [=3’]repository for popular extensions]('http://typo3.org/1383.0.html?&tx_extrepmgm_pi1[mode) to see some of the components / extensions available to typo3.
When these extensions are build using good MVC techniques, then including them into the site is easy.

Just 0.02 EUR.

yup. free too.
http://www.altova.com/products_doc.html

once the developer sets this up, the user is not even aware of the fact that there is XSLT in the background - to them it’s just another word processor document with a template applied.

I haven’t been researching this stuff for a long time now but I wouldn’t be surprised if there are similar solutions out there. And since XSLT/XML is a standard, you can expect support to keep growing for a very long time to come.

Here’s a very simple formula which sums up my view
standards based [template] system = has a future
non-standard [template] system = waste of time.

Web standards have, after many years, become very strong and as a result, are well supported by technology implementations.

There are no more excuses.

Thanks for your reply.
Too bad they only have versions for that other OS. (the same with the Browser Edition of this product, which only works in IE as an .OCX (ActiveX)) (and I know that the RTE or rich text editor of Typo3 only works in IE as well)

I guess I’m still not seeing the big picture on the use of XSLT. How does an end-user build up a document for use in HTML and WAP environments at the same time? Does one create a rich or big document for Web deployment and then include tags in it that identify parts that should not be put in in a Wap environment? How is this usually done?

Also when you create a page to fit in a website, does this creation reflect itself in other documents or document-parts? e.g. When a breadcrumb path is on your website, is it automatically created when you browse to your newly created page. The same thing when you have a site-map document in your website, is the newly created page put in there automatically?

How does XSLT technology help you with that? I’m probably thinking to much in terms of website than in terms of services.