質問 > その他 > tplの変数をphpで操作する場所について |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
szen |
投稿日時: 2012/11/7 20:16
対応状況: −−−
|
新米 登録日: 2012/11/7 居住地: 投稿: 9 |
tplの変数をphpで操作する場所について 使用環境は以下のとおりです。
EC:2.12.1 PHP:5.3.3 前提として、商品の画像は全てECCUBE以外の場所に用意し、ドキュメントルート以上の場所を設定しているロケーションと、ECCUBEのDBに画像名を保持したレコードを用意し、組み合わせて表示をしたいと考えています。 方法は以下の二通りを考えました。 1つ目は、少々危険ですがlist.tplから$smarty.const.IMAGE_SAVE_URLPATH}を 相対パスに書き換える方法を考えたのですが、ドキュメントルートより上を読めないので、Smartyは出来ないと考えました。 2つ目は、phpで直接設定が出来るのであれば、ルートの問題は解決する事が分かっております。 そこで、PHP側のLC_Page_Products_Listを書き換えようとしたのですが、解決が難しいようでした。 さて、本題ですがPHP側で$smarty.const.IMAGE_SAVE_URLPATH}の中身を直接書き換えられるのであれば解決出来ると考えています。 恥ずかしながら、様々な情報を探しましたが努力及ばず、どこを弄ればいいのか検討がつきませんでした。 どうぞご教示いただければと思います。 よろしくお願いします。 |
ECCUORE |
投稿日時: 2012/11/8 10:16
対応状況: −−−
|
長老 登録日: 2009/10/22 居住地: 東京 投稿: 248 |
Re: tplの変数をphpで操作する場所について 前提の確認ですが、「ドキュメントルート以上の場所」とは下記のような感じですか?
ドキュメントルート:/var/www/htdocs ドキュメントルート以上の場所:/var/hogehoge DBに格納している画像名:aaaaa.jpg 実際の場所:/var/hogehoge/aaaaa.jpg 仮にこの状態だとしますと、/var/hogehogeは外部から見られるような設定になっているかが気になります。 上記もクリアしているのであれば、定数に/var/hogehogeのURLを入れて、TPLで加工すれば良いかと思います。
|
szen |
投稿日時: 2012/11/8 11:55
対応状況: −−−
|
新米 登録日: 2012/11/7 居住地: 投稿: 9 |
Re: tplの変数をphpで操作する場所について ご教示ありがとうございます。
ご指摘頂いた点を確認したところ、/var/hogehogeは外部からは見られないようになっていました。 そのため、相対パス記述で確認を試みましたが、phpでは見れますがhtmlやtplでは見れないようです。 phpの値をtplに渡す方法も試みたのですがこれもダメでした。 極端な話ですが、全てphpで書くとなると工数が掛かり過ぎるので現実的ではないです。 |
dimaggio |
投稿日時: 2012/11/8 12:19
対応状況: −−−
|
一人前 登録日: 2011/3/30 居住地: Tokyo 投稿: 120 |
Re: tplの変数をphpで操作する場所について ECCUOREさんは「そもそもWebサーバーのHTTPアクセスの対象領域以外に画像ファイルを置いているので、絶対パス・相対パス問わずにアクセスできないのではないか?」という懸念をご指摘をされているように見えましたが、見当違いなコメントだったらすみません。
|
szen |
投稿日時: 2012/11/8 19:26
対応状況: 解決済
|
新米 登録日: 2012/11/7 居住地: 投稿: 9 |
Re: tplの変数をphpで操作する場所について ECCUOREさん
dimaggioさん 皆さん ご教示ありがとうございます。 ECCUBEの問題ではない方法での解決になりました。 当該箇所にシンボリックリンクを作成してルートの上に抜ける方法で解決しました。 ありがとうございました。 −−−−−−−−−−−−−−−− 同様の問題でお困りの方がいらっしゃるなら、私で解決出来そうならお力になれればと思います。 よろしくお願いします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |