Sie sind eine Art inverse voneinander.
doLayout
wird als Teil des Tags extends
verwendet. Das extends-Tag gibt an, welche Vorlage Sie erweitern möchten, und das doLayout
-Tag gibt an, wo in der erweiterten Vorlage Ihr Code eingefügt wird.
Der Tag include
gibt lediglich an, dass eine andere Vorlage an dem angegebenen Punkt eingefügt werden soll.
So funktioniert doLayout auf ähnliche Weise wie das Einschließen, außer dass das doLayout-Tag nicht angibt, welche Vorlage injiziert wird. Dies geschieht durch das extends-Tag und bedeutet, dass die Vorlage (die normalerweise Header, Fußzeilen und gewöhnliches CSS und JavaScript enthält) erweitert werden kann, ohne dass sie etwas über die Vorlage wissen muss, die sie erweitert.
Include
, ist nur eine dumme Injektion von Code.
Wenn Sie auf jeder Seite die doLayout Funktionalität mit einschließt (und das ist die Art, wie Sie tun, wäre es in PHP oder so ähnlich), könnten Sie tun
#{include 'header.html'}
your template code
#{include 'footer.html'}
Dies hätte zu replizierenden erreichen wollte in deiner Vorlage. Während mit extends
und doLayout
können Sie einfach
#{extends 'template.html'}
zu tun ist und wo Sie den Code in das template.html injiziert wird, wird durch die doLayout Tag verwaltet.
Der erweiterte Ansatz ist einfach ein sauberer Weg. Wenn Sie das Layout Ihrer Seite ändern möchten, müssen Sie nur eine Datei aktualisieren und erhalten mehr Flexibilität bei der Position Ihrer Inhalte in der erweiterten Vorlage.