- ベストアンサー
Dreamweaver MX テンプレートについて
Dreamweaver MXでテンプレートを作成しようとしています。 やり方だいたいわかったのですが。。 サイトのメニュー部分+ヘッダーメニュー部分をテンプレートしているのですが、TOPページに戻るリンクに「../」と記載しています。 これはこのテンプレートをもとに作られるファイルがルートフォルダの1階層下におくからです。この部分は編集不可能の領域です。 他の部分に編集可能領域を設定し、テンプレートとして保存→新しく作るページを新規作成し、アセットパネルからテンプレートをドラッグします。 ここでテンプレートをもとにした新しいページを作成することが可能なのですが、困ったことに、さきほどのTOPページへのリンクの部分が 「file:///D|/ルートフォルダ名」に変わっているのです。 その他画像の参照先などがすべて同様に絶体参照のようにかきかわっているんです。これはなぜでしょうか?? このままサーバーにアップしても、参照先がローカルなんで動きません。 教えてください。よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
私が使用しているのはMX2004なので挙動が違うかもしれませんが、私がテンプレートを適用するときの手順を以下に示しますね。 1.大本になるhtmlファイルを作成する。 2.メニューバーの、挿入→テンプレートオブジェクト→テンプレートの作成をクリック 3.「テンプレートとして保存」ダイアログボックスが立ち上がるので、テンプレート名を記入して保存 4.「リンクを更新しますか?」に、「はい」 5.編集可能領域を設定、保存して閉じる。 上記でテンプレートファイル(dwtファイル)が作成されました。 以下で、htmlファイルに上記テンプレートを適用させます。 1.メニュー→新規でダイアログボックスを開き、(カテゴリ)基本ページ→htmlを選択、OK。 2.アセットから、先ほど保存したdwtファイルをドラッグ&ドロップ ※この時点では、リンクはfile:///D|/ルートフォルダ名になっています。 3.メニュー→名前をつけて保存で、任意のファイル名.htmlで保存。この時点でhtmlファイルとテンプレートファイルとの相対位置が確定され、絶対参照であったリンクが相対参照に切り替わります。 以上の手順でテンプレートが適用されるはずです。実際に試して、リンクが相対参照されることを確認しています。 ・・・おそらくですが、原因は「リンクを更新しますか?」というダイアログに「はい」と答えているかどうか、もしくはアセットからテンプレートをドラッグ&ドロップしたあと、名前をつけて保存を行っているかどうか、そのどちらかではないかと思います。dwtファイルやhtmlファイルを新規もしくは別名で保存するときなど、よく「リンクを更新しますか?」と聞かれます。これに「はい」と答えていれば、相対参照は適宜更新してくれるはずです。もしそれでも起こるのであれば、バグか何かかもしれませんね。 ご参考になればと思います。
その他の回答 (2)
- CHI-512
- ベストアンサー率69% (63/91)
こんにちは。No.1です。 こちらDWのMX2004ですが、試しに../やってみました。 ../できちんと適用されました。 なので、MXの機能不足という結論になります。 >いい方法 もし、ページ公開時にテンプレートマークアップの省略処理を行っているなら、方法があります。 面倒臭い上にいい方法とは言えませんが。 これからも同じような方法(../)を続けたいなら、DWのバージョンアップが一番いいかも知れません。
- CHI-512
- ベストアンサー率69% (63/91)
こんにちは。 >これはこのテンプレートをもとに作られるファイルがルートフォルダの1階層下におくからです。 ↑意味が分かりかねます。 テンプレートの使い方を誤解しているのでは? 確認ですが、 テンプレートファイルとインデックスファイルの階層は以下のようになっていますか? ┬index.html │ ├Templates │└テンプレート.dwt └contents(下層フォルダ) └a.html 上記階層(DWデフォルト階層)の場合、 テンプレート.dwtでトップに戻るリンクを設定すると、 <a href="../index.html">TOP</a> です。 これは“テンプレート.dwtを始点とした”トップページの階層を指定します。 a.htmlへのリンクを設定すると、 <a href="../contents/a.html">a.html</a> です。 このテンプレートを元に新規ページを作ろうとすると、 まず、メニュー → 新規作成で新しいページを表示。 このページにテンプレート.dwtを適用させる。 すると、この段階ではあらゆるリンク部分が「file:///D|/ルートフォルダ名」のようになると思いますが、 この新規作成したページをb.htmlのようにサイト内に保存すると、リンク部分が正しく修正されます。 この手順で制作してもダメですか? 上記手順でa.htmlと同じ階層にあるb.htmlを作ると仮定すると、 テンプレート.dwtで指定した以下のリンクは、 <a href="../index.html">TOP</a> ↓ <a href="../index.html">TOP</a> <a href="../contents/a.html">a.html</a> ↓ <a href="a.html">a.html</a> に自動修正されます。 これでダメなら、 トップに戻るリンクを../ではなく../index.htmlにしてみる、など お試し下さい。
お礼
ありがとうございます。 フォルダ構成はご指摘のとおりになっています。 ご教授いただいた内容も理解できております。 調べたところ、やはり「../」と記載しているとうまくいかないようです。(ためしに「../index.html」と記載したら正しく保存時に変換されました。 ただ、すべてのページはTOPに戻るリンクは「../」としており、また、SEO的にもこれに統一させてしまっているので、「../」と「../index.html」が共存するのは避けたいのです。 何か、いい方法はないでしょうね、、。
お礼
ありがとうございます。 ご教授いただいた内容はすべて実施しています。 「リンクを更新しますか?」の点とファイルを保存するということも確認しました。 何カ所かあるTOPページへのリンクのうち、「../index.html」と書いた箇所は正しく相対パスで記述されているのですが、「../」と書いた箇所のみ絶対パスのままです。 これはバグでしょうか??