質問 > フロント機能 > 画像がそん差ない場合のsfNoImageMainListの表示について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
moke |
投稿日時: 2012/1/13 16:31
対応状況: −−−
|
半人前 登録日: 2011/12/15 居住地: 投稿: 20 |
画像がそん差ない場合のsfNoImageMainListの表示について いつも大変お世話になっております。 現在テンプレートの修正を行っておりますが、 一部、画像が存在しない場合に表示される「画像はありません」が表示されません。 一部画像保存先のディレクトリ追加を行ったのですが、 それが、原因でしょうか? sfNoImageMainListがついていれば、画像が存在しない場合に表示されるものと単純に思っていたのですが… 勉強不足で、初歩的な質問となってしまうのですが、 そもそも、sfNoImageMainListは一体どのような動きをし、 プログラム中のいったい何処で設定されているのでしょうか? ご教授頂ければ幸いです。 [EC-CUBE] 2.11.4 [サーバ] 自社サーバ [OS] centOS [PHP] 5.3.3 [データベース] MySQL [WEBサーバ] apache2.2.3-53 |
seasoft |
投稿日時: 2012/1/13 16:37
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 画像がそん差ない場合のsfNoImageMainListの表示について この処理の実装を担当した者です。
「画像が存在しない場合に」という部分ですが、厳密には「画像が指定されていない場合に」という実装となっています。 data\class\util\SC_Utils.php の sfNoImageMainList メソッドで定義しています。 なお、商品画像の保存場所に初期配置されているファイル「noimage_main_list.jpg」が削除されていると正常に表示されなくなります。
|
moke |
投稿日時: 2012/1/13 17:37
対応状況: −−−
|
半人前 登録日: 2011/12/15 居住地: 投稿: 20 |
Re: 画像がそん差ない場合のsfNoImageMainListの表示について ご教授ありがとうございます。
ということは、例えば以下のように記述した場合で、 デフォルトの「画像はありません」の画像が存在した場合。 <!--{$arrProduct.main_list_image|sfNoImageMainList}--> 1)arrProduct.main_list_image=="" →sfNoImageMainList「画像はありません」が表示される。 2)arrProduct.main_list_image=="upload/save_image/test.jpg" かつ画像データが存在しない →sfNoImageMainListは表示されず、×が画面上には表示される。 という認識であっていますでしょうか? また、画像データが存在しない場合も表示する場合、 別の関数が存在しますでしょうか? それとも、sfNoImageMainListをカスタマイズする必要がありますでしょうか? |
seasoft |
投稿日時: 2012/1/13 17:55
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 画像がそん差ない場合のsfNoImageMainListの表示について moke 様のお書きいただきました通りの動作を意図しております。
> また、画像データが存在しない場合も表示する場合、 > 別の関数が存在しますでしょうか? > それとも、sfNoImageMainListをカスタマイズする必要がありますでしょうか? 「関数」というのが「Smarty の修飾子」ということでしたら、後者の対応になると思います。 若しくは、「指定した画像ファイルが存在しない場合、空文字に変換する」といった処理を行う修飾子を sfNoImageMainList の前に追加する方法も考えられそうです。
|
moke |
投稿日時: 2012/1/23 14:47
対応状況: −−−
|
半人前 登録日: 2011/12/15 居住地: 投稿: 20 |
Re: 画像がそん差ない場合のsfNoImageMainListの表示について 返信が遅くなってしまい、申し訳ありません。
ご教授頂きありがとうございました。 ご教授頂いた「指定した画像ファイルが存在しない場合、空文字に変換する」というものを参考にさせて頂き、sfNoImageMainで、「画像がありません」を取得する前に、を以下のようなロジックを組みました。 // 一覧メイン画像の存在チェック foreach($arrProductData as $key=>$product_row){ $fileName= getcwd() . IMAGE_SAVE_URLPATH . $product_row['main_list_image']; if(is_file($fileName)){ continue; }else{ // 一覧メイン画像の指定が無い商品のための処理 $arrProductData[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList(); } } NoImage画像を表示する頻度(画像が存在しない頻度)が 割とありそうなので、この画像チェック部分だけの処理を切り出した方が良いかも?とも思っています。 ご教授頂き、本当にありがとうございました。 |
oidon33 |
投稿日時: 2017/7/7 10:29
対応状況: −−−
|
新米 登録日: 2016/6/11 居住地: 投稿: 2 |
Re: 画像がそん差ない場合のsfNoImageMainListの表示について お世話になります。
こちらのスレッドを参考に同じ処理を実装でき、大変助かりました。ありがとうございます。 sfNoImageMainListに処理を実装することで汎用性を持たせましたので、もし困っている方がいらしたら参考にしていただければと思います。 バージョンは2.13系です。 public function sfNoImageMainList($filename = '') { $fileName= substr(HTML_REALDIR, 0, -1) . IMAGE_SAVE_URLPATH . $filename; if(!file_exists($fileName)){ $filename=''; } if (strlen($filename) == 0 || substr($filename, -1, 1) == '/') { $filename .= 'noimage_main_list.jpg'; } return $filename; } |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |