バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 指定の名前のファイルがアップされていたら、という条件を作れますか?

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
miyamoto
投稿日時: 2017/4/2 9:42
対応状況: −−−
新米
登録日: 2017/2/4
居住地:
投稿: 9
指定の名前のファイルがアップされていたら、という条件を作れますか?
タイトルの通りなのですが、
ECCUBE3の管理画面、ファイルのアップロード機能におきまして、
例えば「campaign.jpg」(キャンペーン)という名前の画像ファイルがアップロードされていたら、あるページにその画像を表示し、無かったら何もしない、という条件分が作れなくて困っています。

どうかよろしくお願いいたします。
hmorita_j
投稿日時: 2017/4/2 11:49
対応状況: −−−
長老
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 222
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?
src/Eccube/Twig/Extension/EccubeExtension.php
にフィルターを追加すると良いと思います。
hmorita_j
投稿日時: 2017/4/2 11:54
対応状況: −−−
長老
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 222
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?

    public function fileExists($filePath){
        return file_exists($filePath);
    }

こんなのを追加して、68行目のgetFileters()に下記一文を追加します。

new \Twig_SimpleFilter('file_exists', array($this, 'fileExists')),

使うときは

{% if "ファイルのパス"|file_exists %}
何か処理
{% endif %}

こんな感じです。
miyamoto
投稿日時: 2017/4/2 13:34
対応状況: −−−
新米
登録日: 2017/2/4
居住地:
投稿: 9
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?
hmorita_jさま

返信ありがとうございます。わざわざコードも書いてくださり感謝します。

EccubeExtension.php の
class EccubeExtension extends \Twig_Extension
{
private $app;
の下に
public function fileExists($filePath){
return file_exists($filePath);
}

を追加し、68行目付近に以下のように追加しました。

public function getFilters()
{
return array(
new \Twig_SimpleFilter('file_exists', array($this, 'fileExists')),
.
.

その後、管理画面のファイルアップロードよりcampaign.png をアップし、適当なuse_pageにて

{% if "/html/user_data/campaign.png"|file_exists %}
何か処理
{% endif %}

と追加しましたが、何も表示されません。
(パスはあっております)

なにか間違いがありましたらご教授願いますでしょうか。
よろしくお願いいたします。
Yuya.u
投稿日時: 2017/4/2 14:02
対応状況: −−−
半人前
登録日: 2017/3/6
居住地:
投稿: 24
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?
{% if "/html/user_data/campaign.png"|file_exists %}

/htmlからではなく、絶対パスで書くようにした方が良いですね。


----------------
PHPエンジニア。
EC-CUBEインテグレートパートナー。

miyamoto
投稿日時: 2017/4/2 14:39
対応状況: −−−
新米
登録日: 2017/2/4
居住地:
投稿: 9
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?
返信ありがとうございます。
絶対パスでも試しましたが、変わらずです。
hmorita_j
投稿日時: 2017/4/2 15:58
対応状況: −−−
長老
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 222
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?
フルパスを指定してください。
WEBから見られるパスではなくて、サーバ内でのパスになります。
miyamoto
投稿日時: 2017/4/2 16:10
対応状況: 解決済
新米
登録日: 2017/2/4
居住地:
投稿: 9
Re: 指定の名前のファイルがアップされていたら、という条件を作れますか?
できました。
何から何までありがとうございます!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.