閲覧時のページレンダリング用テンプレートや、編集時の入力フォームなど。
下位ページを作るときだけのものでいい。設定は「ここに下位ページを作るときのテンプレート(ページ名)」。
Wikiの構築に利用する。閲覧時のページレンダリング用テンプレートや、編集時の入力フォームなど、多くのページに見られる共通部分のこと。
スタイルテーマを適用するときだけのもの。
実体はページ。それをテンプレートとして扱うのは
設定方法は与えられるページのページ/属性領域に、テンプレートページ名を書くこと。
レイアウト/ビュー/ナビゲーション/ヘッダー…どれもテンプレートの呼び方。どこで使うか、実装がページかそれともプログラミング言語のコードかによって呼び方を変えているだけ。
下位展開を行なうかどうかもテンプレート次第。
†:i/下位展開はビューを表すページ
実体はページ。埋め込み要素でテンプレートとして使えるようにする。
それ以外の例…
テンプレートはビューのもの †
- -
テンプレートはViewのもの †
MVCのViewクラスが参照、Viewクラスだけが使用する。書くのは管理者。
→:i/レイアウト/ビュー/テンプレートはどれもビューのもの[?]
→:i/レイアウト/ビュー/テンプレートはどれも同じもの
ページに関連付けるがページからは使わない。ページを扱う側(ユースケースやビュークラス)で使う。
ページに関連付けるがページからは使わない。ページを扱う側(ユースケースやビュークラス)で使う。そこにページ/内容を当てはめる。
テンプレートの種類 †
どれも型は同じ。どういう順番で埋め込みのネストにするかを分かりやすくするための名称でしかない。
- レイアウト
大枠。サイトごとのもの。
大枠。サイトごとのもの。実装上はビューに含める。 - ビュー
UIの集約。
UIの集約。ビュークラスとそこで参照するテンプレート。 - フォーム
入力のためのテンプレート。
入力のためのテンプレート。ページ/型の「フォーム」で実装。 - コンテンツヘッダー
サイト名やナビゲーションを置くところ。
メタな名前で埋め込み †
「リクエストされたページのページ/属性/閲覧ビューにするページ名」といった指定方法で埋め込み。
テンプレートにする属性名(この場合「リクエストされたページ」と「閲覧ビュー」部分)を決めるのはフレームワーク/WikiEngine?ユースケース?
→両方になる。フレームワーク/Webアプリケーションとフレームワーク/WikiEngineは分けられないときがある。よくない。
ビューのためだけのページ/属性。ユースケースからビューを呼ぶので、使われるのはユースケースの中とも言える。
ページ/属性には…
なんとかビューのテンプレートページ名 → テンプレートページ名
…になるよう記述。
ビューからはリクエストされたページの→ページ/属性→ビュー自身の名前のテンプレートページ名→テンプレートページ名→テンプレートページ→ページ/内容.ToHtml()→HTML??
なんとかビューのテンプレートページ名 → テンプレートページ名
レイアウトの埋め込み、リクエストされたページの埋め込みは「埋め込み要素」で??どれのToHtml()を呼べばいい??埋め込みセレクターに書く内容は??
データと設定はすべてページに書くので、ビューのテンプレートもページにはある。でもそれだけ。
テンプレートはネストする †
レイアウト→ビュー→ページ/内容 のように、テンプレートはネストする。
テンプレートとページとの関連付けはページ/属性で行なうので、ページ/属性の「テンプレート」は複数設定できなければならない。
:i/テンプレートはページ名 †
継承できるのは完成した1つのテンプレート。継承でテンプレート部品を集めたり組んだりはしない。
テンプレートの多重継承は却下 †
ページ/属性の継承処理にテンプレートのためだけの処理を入れても応用が利かない。通常の属性/継承でいい。
属性継承は上位か下位のいずれかを有効にするだけでいい。(上位にあるテンプレートを全て有効に合成するような)多重継承は不可。
多重継承は分かりにくい上に効果は低い。
ページ/内容の埋め込み(セレクターと併用するほう)は使う。
ナビゲーションのネスト †
テンプレートを複数まとめるには埋め込みで。ナビゲーションとして使うテンプレートに他のテンプレートを埋め込み。
テンプレートにテンプレートを適用することでも可能。
テンプレートにページ/内容をどう埋め込むか †
スタイルテーマを適用するときだけのものなので、ビューとは関わらない。
ーーーー
テンプレートとして読まれる側には内容を普通に書いていい。
テンプレートを読む側は、そのページ/属性にページ名(読まれる側ページの名前)を書く。特定のページ/属性が特別扱いされる。