• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/テンプレート]] [[:t/ビュー]] [[:t/レイアウト]] [[:t/フォーム]] [[:t/ナビゲーション]] [[:t/領域]]

閲覧時のページレンダリング用テンプレートや、編集時の入力フォームなど。
†[[:i/下位展開はビューを表すページ]]

実体はページ。埋め込み要素で内容を入れ替える。

***テンプレートはビューのもの [#w0406dbf]
MVCのViewクラスが参照、Viewクラスだけが使用する。書くのは管理者。
→[[:i/レイアウト/ビュー/テンプレートはどれもビューのもの]]

ページに関連付けるがページからは使わない。ページを扱う側(ユースケースやビュークラス)で使う。
***テンプレートの種類 [#xcc4b699]
どれも型は同じ。どういう順番で埋め込みのネストにするかを分かりやすくするための名称でしかない。
-レイアウト
大枠。サイトごとのもの。
-ビュー
UIの集約。
UIの集約。ビュークラスが参照する。
-フォーム
入力のためのテンプレート。
***メタな名前で埋め込み [#q9d015bb]
%%「リクエストされたページのページ/属性/閲覧ビューにするページ名」といった指定方法で埋め込み。%%
%%テンプレートにする属性名(この場合「リクエストされたページ」と「閲覧ビュー」部分)を決めるのはフレームワーク/WikiEngine?ユースケース?%%
%%→両方になる。フレームワーク/Webアプリケーションとフレームワーク/WikiEngineは分けられないときがある。よくない。%%

ビューのため''だけ''のページ/属性。ユースケースからビューを呼ぶので、使われるのはユースケースの中とも言える。
ページ/属性には…
 なんとかビューのテンプレートページ名 → テンプレートページ名
…になるよう記述。
ビューからはリクエストされたページの→ページ/属性→ビュー自身の名前のテンプレートページ名→テンプレートページ名→テンプレートページ→ページ/内容.ToHtml()→HTML??

レイアウトの埋め込み、リクエストされたページの埋め込みは「埋め込み要素」で??どれのToHtml()を呼べばいい??埋め込みセレクターに書く内容は??
***%%テンプレートはネストする%% [#se28068f]

%%レイアウト→ビュー→ページ/内容 のように、テンプレートはネストする。%%
%%テンプレートとページとの関連付けはページ/属性で行なうので、ページ/属性の「テンプレート」は複数設定できなければならない。%%

%%†[[ページ/属性,属性名が重複したら]]%%


***[[:i/テンプレートはページ名]] [#i6701433]
継承できるのは完成した1つのテンプレート。継承でテンプレート部品を集めたり組んだりはしない。

***テンプレートの継承は却下 [#t58b436a]
ページ/属性の継承処理にテンプレートのためだけの処理を入れても応用が利かない。
属性継承は上位か下位のいずれかを有効にするだけでいい。多段継承不可。深い位置のページでは上位のテンプレートをコピペして追記。これで実用になる。

多段継承は分かりにくい上に効果は低い。ページ/属性の継承処理なのでページだけが特別扱いする記法を導入するというのも。
ページ/内容の埋め込み(セレクターと併用するほう)は使う。
***ページ/内容をどう埋め込むか [#x98f333c]
埋め込み要素とセレクター(リクエストされたページ名)を使って。
テンプレートに限らずいつでもどこでも有効な要素なので、テンプレートページを呼ぶだけで対象ページも付いてくる。