バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お問い合わせ機能追加

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
jacker
投稿日時: 2019/11/29 17:25
対応状況: −−−
新米
登録日: 2019/7/10
居住地:
投稿: 10
お問い合わせ機能追加
こんにちは

Symfony初心者です。

eccube4.0.3でお問合せで画像を投稿してもらうために
下記のコードを追加しました。
お問い合わせは、入力→確認→完了という流れですが。
確認で一時的に画像をtempに作成して
オリジナルファイル名を表示させて(できればアップした画像を表示)、

完了画面で正規フォルダーにコピーして、一時ファイルを削除といった感じにしたいのですが。
そのために完了画面までhiddenでオリジナルファイル名を渡したいです。
どうしてもconfirm.twigでオリジナルファイル名を表示させるところでつまずいています。
ContactController.phpで{{ form.img.vars.data }}の値をかえることができるのでしょうか?

confirm.twigで{{ form.img.vars.data }}を使うとテンポラリファイル名らしきが表示され
オリジナルファイル名を表示できません。。{{ form.img.vars.name }}はinput name=の値でした。

form.img.vars.data.UploadedFile.originalNameはエラーになってします。


追加したコード
■src\Eccube\Controller\ContactController.php

case 'confirm':

$form = $builder->getForm();
$form->handleRequest($request);
//下記を追加
$img_file = $form->get('img')->getData();
$img = "";
if ($img_file) {
$img_filename = $img_file->getClientOriginalName();
$img_file->move($this->eccubeConfig['eccube_save_image_dir'] , $img_filename);
}

■src\Eccube\Form\Type\Front\ContactType.php

->add('img', FileType::class, [
'multiple' => false,
'required' => false,
'mapped' => true,
'constraints' => [
new File([
'maxSize' => '5024k',
'mimeTypes' => [
'image/jpeg',
'image/png',
],
'mimeTypesMessage' => 'jpg or pngのみ登録可能',
])
],
])

■src\Eccube\Resource\template\default\Contact\index.twig

enctype="multipart/form-data"を追加

<form method="post" action="{{ url('ideaform') }}" class="h-adr" novalidate enctype="multipart/form-data">

form内に追加
<dl>
<dt>
{{ form_label(form.img, '写真', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.img) ? ' error' }}">
{{ form_widget(form.img) }}
{{ form_errors(form.img) }}
</div>
</dd>
</dl>


■src\Eccube\Resource\template\default\Contact\confirm.twig

form内に追加
<dl>
<dt>
{{ form_label(form.img, '写真', {'label_attr': {'class': 'ec-label'}}) }}
</dt>
<dd>
{{ form.img.vars.data }}
{{ form_widget(form.img, { type : 'hidden' }) }}
</dd>
</dl>
jacker
投稿日時: 2019/12/2 16:55
対応状況: −−−
新米
登録日: 2019/7/10
居住地:
投稿: 10
Re: お問い合わせ機能追加
自己レスです。

とりあえず。下記を追記してなんとか対応しました。
おさわがせいたしました・・・

■src\Eccube\Controller\ContactController.php

return $this->render('Contact/confirm.twig', [
'form' => $form->createView(),
'img_filename' => $img_filename,
]);

■src\Eccube\Resource\template\default\Contact\confirm.twig
<img src={{img_filename}}>
{{ form_widget(form.img, { type : 'hidden', value: img_filename}) }}
nkmr
投稿日時: 2022/6/29 17:00
対応状況: −−−
新米
登録日: 2022/6/29
居住地:
投稿: 1
Re: お問い合わせ機能追加
横から失礼します。

こちらのコードを使用して、お問い合わせ確認メールに画像を添付または挿入するにはどのようにすればよろしいでしょうか。

ご回答いただければ幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
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.