バージョン選択

フォーラム

メニュー

オンライン状況

85 人のユーザが現在オンラインです。 (75 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 85
もっと...

サイト内検索

質問 > フロント機能 > 画像がそん差ない場合の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」が削除されていると正常に表示されなくなります。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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 の前に追加する方法も考えられそうです。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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;
}
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,724名です
総投稿数は109,953件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.