質問 > 管理機能 > 商品登録・編集テンプレート内画像の表示を外部パスにも対応させたい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
takeo |
投稿日時: 2016/11/4 16:05
対応状況: −−−
|
半人前 登録日: 2015/1/12 居住地: 投稿: 18 |
商品登録・編集テンプレート内画像の表示を外部パスにも対応させたい EC-CUBE 2.13.3
PostgreSQL 8.4.20 で自分の店のショッピングサイトを開いています。 商品画像の表示を外部パスにも対応させるべく、初心者ながら色々いじっております。 一通り、ショッピングサイトのPC版はお客さんには画像の表示が外部パスでも見えるようになりました。 具体的には、 外部パス画像と、そうでない普通のアップロードした画像が混在していることから、画像ファイル名の入っている変数を {if (strstr($arrForm.main_list_image, 'http://'))} /* $image_file がURLを含む外部パス画像名だったら */ <img src="$arrForm.main_list_image"> /* そのまま表示 */ {else} <img src="<!--{$smarty.const.IMAGE_SAVE_URLPATH}-->$arrForm.main_list_image"> {/if} と、こんな感じの処理にしています。 ただ、管理画面内での表示が思うように扱えず、困っております。 data/Smarty/templates/admin/products/products.tpl で表示する商品画像は、 <img src="<!--{$arrForm.arrFile[$key].filepath}-->" ともとのソースでやってますが、 これだと、 http://ショッピングサイトのURL/ が強制的に付いてしまい、外部パス画像だと、 $arrForm.arrFile[$key].filepath は、 http://ショッピングサイトのURL/http://外部パス画像のURL となってしまい、 上記の 外部パス画像と、そうでない普通のアップロードした画像 の処理 ができないので <img src="<!--{$arrForm.main_list_image}-->" とすると、≪画像の取り消し≫や≪画像のアップロード≫をした場合の挙動時が上手くいきません。 ($arrForm.main_list_image が空になります。) なぜ上手く挙動しないのか、 どのようにするとよいか、を教えて下さい。 |
tsuji |
投稿日時: 2016/11/9 9:37
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: 商品登録・編集テンプレート内画像の表示を外部パスにも対応させたい takeo 様
テーブルに外部の画像を参照する場合のカラムを準備して そちらにデータが入っている場合はそちらを参照、それ以外は もともとのアップロード機能で入れたほうを参照と分けるほうが 無難かと思います。 画像を登録する場合、アップロードしてサーバー内に 保存するという処理を同時に行っています。 外部のパスであれば、その処理がいらなくなります。 それをmain_list_imageに入っている情報で判定して画像の保存処理を行う行わないを 判定させるのは作業量が多くなるかと思います。 すでにフロント側は対応されているということですが、 今後の不具合が起きる可能性と管理側の作業量を考えると 以下のどちらかの対応が良いかと思いました。 ・シンプルに登録する口を分けて、外部の画像のありなしで、表示内容を変える ・外部の画像は詳細-メインコメントに記載する
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |