バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 問い合わせフォームのカスタマイズの質問

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
k-naka
投稿日時: 2020/5/19 23:48
対応状況: −−−
新米
登録日: 2020/5/17
居住地:
投稿: 9
Re: 問い合わせフォームのカスタマイズの質問
468様
投稿ありがとうございました。

お手数ですが質問です。

TopController.phpにContactController.phpのfunction index()で行われている
formの準備、リクエスト受付時の処理(確認画面、完了画面の遷移、メール送信)を組み込む、とありましたので以下のようにやってみたのですが、トップページが表示されなくなります。

<?php

/*
* This file is part of EC-CUBE
*
* Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
*
* http://www.ec-cube.co.jp/
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Eccube\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\Routing\Annotation\Route;

class TopController extends AbstractController
{
protected $mailService;
/**
* @Route("/", name="homepage")
* @Template("index.twig")
*/
public function index(
MailService $mailService)
{
$this->mailService = $mailService;
}
public function index(Request $request)
{
$builder = $this->formFactory->createBuilder(ContactType::class);

if ($this->isGranted('ROLE_USER')) {
/** @var Customer $user */
$user = $this->getUser();
$builder->setData(
[
'name01' => $user->getName01(),
'name02' => $user->getName02(),
'kana01' => $user->getKana01(),
'kana02' => $user->getKana02(),
'postal_code' => $user->getPostalCode(),
'pref' => $user->getPref(),
'addr01' => $user->getAddr01(),
'addr02' => $user->getAddr02(),
'phone_number' => $user->getPhoneNumber(),
'email' => $user->getEmail(),
]
);
}

// FRONT_CONTACT_INDEX_INITIALIZE
$event = new EventArgs(
[
'builder' => $builder,
],
$request
);
$this->eventDispatcher->dispatch(EccubeEvents::FRONT_CONTACT_INDEX_INITIALIZE, $event);

$form = $builder->getForm();
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
switch ($request->get('mode')) {
case 'confirm':
$form = $builder->getForm();
$form->handleRequest($request);

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

case 'complete':

$data = $form->getData();

$event = new EventArgs(
[
'form' => $form,
'data' => $data,
],
$request
);
$this->eventDispatcher->dispatch(EccubeEvents::FRONT_CONTACT_INDEX_COMPLETE, $event);

$data = $event->getArgument('data');

// メール送信
$this->mailService->sendContactMail($data);

return $this->redirect($this->generateUrl('contact_complete'));
}
}

return [
'form' => $form->createView(),
];
}
public function complete()
{
return [];
}
}


組み込むとは具体的にどのようにしたらよいのでしょうか?
お手数ですが、もしお時間ございましたらご教示ください。
宜しくお願い致します。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   問い合わせフォームのカスタマイズの質問 k-naka 2020/5/17 15:32
     Re: 問い合わせフォームのカスタマイズの質問 468 2020/5/18 8:58
     » Re: 問い合わせフォームのカスタマイズの質問 k-naka 2020/5/19 23:48
         Re: 問い合わせフォームのカスタマイズの質問 468 2020/5/20 8:10
           Re: 問い合わせフォームのカスタマイズの質問 k-naka 2020/5/21 2:30
             Re: 問い合わせフォームのカスタマイズの質問 468 2020/5/21 9:20
               Re: 問い合わせフォームのカスタマイズの質問 k-naka 2020/5/23 3:13

 



ログイン


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

統計情報

総メンバー数は89,039名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
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.