[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 メーリングリストの案内