Webサイトのそれぞれのページを効率的に作成していく作業負荷を軽減する方法に、テンプレートを利用する方法があります。Expression Web 4には、ダイナミックテンプレートが用意されています。
1つのWebサイト内では、基本的なデザインを統一して、それぞれのページに関連性を持たせるため、それそれのページに共通した部分と、異なる部分に分けることができます。
共通した部分をテンプレートとして、独立させることで、入力の手間を大幅に軽減することができます。もちろん、テンプレート機能を使わなくても、1つのひな型となるファイルを作成し、そのファイルコピーした後、修正してそれぞれのページを作成すれば同じことです。
Expression Web 4では、Expression Web 4内で、ファイルと移動させると相対パスで指定したリンクの位置が自動的に修正される機能があります。そのため、テンプレートを利用すると、グローバルメニューのような、すべてのページに設置するリンクの処理を行う必要がなくなり、ページ作成作業が簡単になります。
Expression Web 4のダイナミック・テンプレートの特徴
Expression Web 4で用意されているダイナミック・テンプレートは、テンプレートとテンプレートで作成したページが関係を持っているという特徴があります。そのため、テンプレートを変更すると、テンプレートから作成したページにテンプレートの変更が反映されます。
テンプレートを変更すると、テンプレートを使って作成したページの共通部分を更新することができます。この機能を有効に機能させるために、テンプレートで、共通部分とそれぞれのページで変更する部分を区別しておく必要があります。
変更する部分は、コメントタグ<!-- #BeginEditable "識別名" -->と<!-- #EndEditable -->で囲みます。
<!-- #BeginEditable "doctitle" -->
変更する部分
<!-- #EndEditable -->
このコメントタグで囲まれた部分は、テンプレートが変更されても変更が反映されません。
この機能を使うと、これまで、正規表現を駆使した検索置換で行ってきた変更を簡単に行うことができます。
項目名は、おそらく、VBAやアドインと連携して何かを行うことができたと推測できるのですが、サポート期間が終了したことで、Expression Web 4のドキュメントの多くやSDKのダウンロードなどの情報を見つけることができなくなってしまっているので、既に活用する方法がなくなっているものと思われます。
項目名は、任意ですが、統一したほうが良いと思います。
項目名 | 内容 |
---|---|
doctitle | ページタイトル |
topic_path | パン屑リスト |
content | 記事の内容。<article>タグを配置する領域 |
related | サイドカラムの内容。<aside>タグを配置する領域 |
この機能の目的から考えると、それぞれのデザインごとにテンプレートを用意して、それぞれのページで、できるだけ変更できる領域を少なくして利用する方法が想定されていると思います。VBAやアドインで、一覧からデータを取得し、それを差し替えてページを生成する方法も想定されていたかもしれません。
ともあれ、メニューなどのヘッダ部分、サイドバーやフッタの共通部分を共通部分として利用するだけでもかなり作業軽減の恩恵を得ることができます。