[PHP-users 15694]HTMLテンプレートと画像パスの問題
稲垣 佑介
inagaki_ml @ mhlp.net
2003年 6月 4日 (水) 20:38:16 JST
稲垣@早稲田大学 と申します。初めて質問させて頂きます。
SmartyでHTMLテンプレートを利用していますが、画像パスの部分で問題になるこ
とがあります。
【問題となっていること】
php/test.php
というプログラムが
php/templates/test.tpl
というHTMLテンプレートファイルを読み込んで(処理をして)表示する場合、
表示されるHTMLのベースURLは
php/
になってしまいます。これだと、ホームページビルダーのようなツールを使って
転送した場合、相対パスだとずれてしまい、うまく表示できません。
【自分なりの解決策として】
・すべてのパスを {$image_dir}/image.gif などのように記述して、PHPで
パスを動的に置き換える
しかしこれだと、作成ツールでスムーズに作れません。
・ベースURLを指定する<base>
イメージとかはこれでよくなりますが、普通のページリンクとかもベースが変わ
るのでこれだと困る
・動的に置き換える
<IMG SRC=***>などのタグを探して動的に設定ファイルなどで設定してあるディ
レクトリに置き換えてしまう。
3番目の方法で結果的に機能としては実現でき、今までずっとこの方法でやって
いましたが、どうも、気持ち悪いです。何かいい方法があると思うのですが、み
なさんはこういう時どうしているのでしょう?
一応、できる限りHPの作成ツールの類でデザインをする人に負荷をかけないよ
うにしたいです。(つまりできるだけPHPの方でなんとかしたい。)
--
稲垣佑介<inagaki_ml @ mhlp.net>
Waseda univ.
PHP-users メーリングリストの案内