2010-11-25 11 views
1

TAL, TALES und METAL sind alle drei die Zope Templating Sprache. Die Sache, die ich nicht verstehe, ist warum so viele Probleme. Ich verstehe nicht den Geist von ZTL, irgendwelche Tipps?Welches spezielle Problem versuchen Zope Völker zu lösen mit TAL, TALES & METAL

eine weitere Frage: Gibt es eine Standalone-Bibliothek, die versuchen, das gleiche zu erreichen, dass ZTL aber außerhalb des Zope-Ökosystems?

+0

http://www.owlfish.com/software/simpleTAL/index.html Ich weiß nicht, wie Sie den Rest Ihrer Frage beantworten. Früher hatte ich dieselben Probleme wie du. – cababunga

Antwort

4

Die Kernidee von tal/tales ist, richtig gültiges (x) html zu haben. Die gesamte Template-Funktionalität ist in Attributen oder Namespaced-Elementen enthalten. HTML-Editoren sollten mit diesen Vorlagen gut funktionieren. Lassen Sie uns ein Beispiel geben. Erste tal/Erzählungen:

<ul> 
    <li tal:repeat="customer customers"> 
    <a href="" 
     tal:attributes="href customer.url" 
     tal:content="customer.name> 
     Sample customer name 
    </a> 
    </li> 
</ul> 

Und in Djangos Template-Sprache, nur als Beispiel:

<ul> 
{% for customer in customers %} 
    <li> 
    <a href="{{ customer.url }}"> 
     {{ customer.name }} 
    </a> 
    </li> 
{% endfor %} 
</ul> 

Welche ist besser? Offene Frage. Man spielt gut mit Ihrem HTML-Editor, der andere macht die Nicht-HTML-Anweisungen klarer. Wie auch immer, es ist die Hauptidee hinter tal/tales!

1

Ihre letzte Frage: http://zpt.sourceforge.net/

Da die andere Frage nicht dass spezifisch ist, ich bin nicht sicher, ob eine endgültige Antwort auf diese Frage gibt es, es sei denn, einer der ursprünglichen Entwickler Antworten.

Zope Page Templates ist das Templating-System, das TAL/TALES/METAL verwendet, und das spezifische Problem, das es zu lösen versucht, ist das gleiche wie bei vielen anderen Templating-Systemen: gültiges HTML erzeugen. Im Fall von ZPT ist es möglich, auch jede Art von XML zu erstellen. Zum Zeitpunkt seiner Entstehung hatte es einige herausragende Eigenschaften:

  • die Vorlagen selbst bei der Gestaltung Tools wie Dr * beep * mw * beep * ver oder Fr * beeb * ntp * beep * ge ohne Modifikation verwendet werden könnten,
  • die verschachtelte Struktur von XML/XHTML sichergestellt wurde
  • reine python-Implementierung (eher sauberer Code) und eingebetteten python-Ausdrücke (ungültig strukturiertes XML nicht funktionieren wird)
  • die Vorlagen selbst verschachtelt werden kann, gemischt und abgestimmt

in der Zwischenzeit hat das Netz aufgeholt und es gibt viele Alternativen