RkBlog

Hardware, programming and astronomy tutorials and reviews.

Dziedziczenie szablonów

Opis mechanizmów dziedziczenia szablonów w Mako - wypełniania zawartością szablonów bazowych przez szablony je dziedziczące

Szablony Mako wspierają również dziedziczenie - główny szablon może mieć zdefiniowane bloki a szablon dziedziczący go może te bloki wypełniać zawartością.

Stwórz dwa szablony. body.html:
# -*- coding: utf-8 -*-
<h2>Treść:</h2>
 ${self.tresc()}
<h2>Koniec Treści</h2>

szablon.html:
# -*- coding: utf-8 -*-
<%inherit file="/body.html"/>

<%def name="tresc()">
To jest treść
</%def>
Teraz wywołując w kontrolerze szablon.html otrzymamy w efekcie:
<h2>Treść:</h2>
To jest treść
<h2>Koniec Treści</h2>
Blok tresc został wypełniony zawartością podaną w szablon.html.

Do wyświetlania zawartości bloku służy konstrukcja:
${self.NAZWA_BLOKU()}

Do definiowania zawartości danego bloku służy konstrukcja:
<%def name="NAZWA_BLOKU()">
ZAWARTOŚĆ
</%def>

Do dziedziczenia szablonu o podanej nazwie służy konstrukcja:
<%inherit file="/NAZWA_SZABLONU.html"/>
RkBlog

14 July 2008;

Comment article