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

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

テンプレートビューのもの Edit

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

ページに関連付けるがページからは使わない。ページを扱う側(ユースケースビュークラス)で使う。

テンプレートの種類 Edit

どれもは同じ。どういう順番で埋め込みのネストにするかを分かりやすくするための名称でしかない。

メタな名前で埋め込み Edit

「リクエストされたページページ/属性/閲覧ビューにするページ名」といった指定方法で埋め込み
テンプレートにする属性名(この場合「リクエストされたページ」と「閲覧ビュー」部分)を決めるのはフレームワーク/WikiEngineユースケース
→両方になる。フレームワーク/Webアプリケーションフレームワーク/WikiEngineは分けられないときがある。よくない

ビューのためだけページ/属性ユースケースからビューを呼ぶので、使われるのはユースケースの中とも言える。
ページ/属性には…

なんとかビューテンプレートページ名 → テンプレートページ名

…になるよう記述。
ビューからはリクエストされたページビュー自身の名前を含む属性テンプレートページ名テンプレートページページ/内容.ToHtml()(ビューによっては他の形式)

ビューに対応するテンプレートが最上位テンプレート。ここに他のビューと共有するHTMLを埋め込み要素で埋め込む。(セレクターには「リクエストされたページ」を書けなければならない)
リクエストされたページ埋め込み要素か、その位置の前後でテンプレートを分けておいてコードのほうで前.ToHtml()+ページ.ToHtml()+後.ToHtml()

テンプレートはネストする Edit

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

ページ/属性:『属性名が重複したら』

:i/テンプレートはページ名 Edit

継承できるのは完成した1つのテンプレート継承テンプレート部品を集めたり組んだりはしない。

テンプレート継承は却下 Edit

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

多段継承分かりにくい上に効果は低い。ページ/属性継承処理なのでページだけが特別扱いする記法を導入するというのも。
ページ/内容埋め込みセレクターと併用するほう)は使う。

ページ/内容をどう埋め込むか Edit

埋め込み要素とセレクター(リクエストされたページ名)を使って。
テンプレートに限らずいつでもどこでも有効な要素なので、テンプレートページを呼ぶだけで対象ページも付いてくる。

→…ではビュー別のデータコンテキストを反映できないので、ビュークラスのコードを使う。埋め込み位置だけはテンプレート内に書いておく。埋め込み要素ではなくビュークラスだけが解釈できる記法で。

テンプレート適用順 Edit

対象ページごとにテンプレートを変えられるようにするなら、対象ページ属性に…

ビュー名)のテンプレートページ名 → ページ名

…と書いておく。変えられなくていいならビュークラスの中に書くか、ビュークラス別の設定ページにでも書いておく。

ビューが処理の中心になるので、ビューを最上位にする。「レイアウト」なし。

ビュークラス内で対象ページ/属性を参照。テンプレートページ名テンプレート内容。
テンプレート内容にはグローバルナビゲーションなどの全ビュー共通の部分が、埋め込み要素を使って埋め込まれている。
対象ページの内容は…ビュークラスのコードを介してビュー別のコンテキストで呼ばないといけないので、ビューでしか解釈されないプレースホルダー記法ででも位置指定しておく。

下位展開ビューでは繰り返し部分がある。その部分は分けておかないと繰り返せない。
対象ページ属性に…

ビュー名)の繰り返し部分のテンプレートページ名 → 繰り返し部分ページ名

…と書いておくこともできるが、ビューテンプレートページ属性にしたほうが適切。

ビュー名)のテンプレートページ名 → ページA

ページAの属性に…

繰り返し部分その1のテンプレートページ名 → 繰り返し部分ページ名

「繰り返し部分ページ」の内容が繰り返し部分。その中にビューでしか解釈されないプレースホルダー記法

テンプレートだけの構成をあらかじめ作っておく。レイアウトビュー>コンテンツテンプレート
レイアウトの中にページ名固定でコンテンツテンプレート埋め込み。そのレイアウト名をページ/属性の「(ビュー名)のテンプレート」→レイアウト名 という形で書いておく。

ビューは?

繰り返し部分のプレースホルダーを無くすには Edit

下位展開ビューに必要な繰り返し部分には、対象ページの内容を埋め込むためのプレースホルダー記法がある。
これを不要にするには繰り返し部分を前後に分ける。埋め込み前と埋め込み後。
テンプレートだけの独自仕様排除。