たとえば、ページ テンプレート page1.soy、page2.soy、pagex.soy で、ヘッダーとフッターを含む base.soy テンプレートを拡張したいとします。
これはサポートされていますか?
これは、Django や Jinja2 テンプレート エンジンなどの一般的な機能です。
たとえば、ページ テンプレート page1.soy、page2.soy、pagex.soy で、ヘッダーとフッターを含む base.soy テンプレートを拡張したいとします。
これはサポートされていますか?
これは、Django や Jinja2 テンプレート エンジンなどの一般的な機能です。
もちろん、これを試してください:
{namespace sample}
/**
* Layout
* @param title
* @param body
*/
{template .base}
<html>
<head>
<title>{$title}</title>
</head>
<body>
{$body}
</body>
</html>
{/template}
/**
* Page example
*/
{template .page1}
{call .base}
{param title}
Sample Title
{/param}
{param body}
Sample body
{/param}
{/call}
{/template}
最後に、構成は階層よりも自然です。つまり、ヘッダーとフッターを管理する (またはヘッダー/フッター コンポーネントを追加する) ページ コンポーネントを用意します。次に、ページ コンポーネントに pageContent 領域 (別のコンポーネント) を設定できます。
ヘッダー/フッターを含むページ テンプレートを作成し、渡されたプロパティに基づいて特定のコンテンツ テンプレートを作成することで、階層を模倣することもできます。