バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 注文手続きに入力項目追加したが注文完了でNULLになる

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akadota
投稿日時: 2020/10/9 11:13
対応状況: 開発中
半人前
登録日: 2020/8/11
居住地:
投稿: 24
注文手続きに入力項目追加したが注文完了でNULLになる
注文手続き画面に入力項目を追加したのですが、注文完了でカラムがNULLになります。

1)下記のエンティティーを追加しました。
/home/kurakagroup/diamond-pizza.com/public_html/ec-test/app/Customize/Entity/OrderTrait.php
【OrderTrait.php】
<?php
namespace Customize\Entity;
use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation\EntityExtension;
/**
* @EntityExtension("Eccube\Entity\Order")
*/
trait OrderTrait
{
/**
* @var string|null
* @ORM\Column(type="string", length=14, nullable=true)
* @Eccube\Annotation\FormAppend(
* auto_render=false,
* type="\Symfony\Component\Form\Extension\Core\Type\TextType",
* options={
* "required": false,
* "label": "受付担当者",
* "attr": {"placeholder": "例:山田太郎"}
* })
*/
private $staff_name;

/**
* @return string|null
*/
public function getStaffName()
{
return $this->staff_name;
}

/**
* @param string|null $staff_name
* @return OrderTrait
*/
public function setStaffName($staff_name)
{
$this->staff_name = $staff_name;
return $this;
}
}

2)コマンドでProxyクラスの生成と、データベースへのカラム追加を行いました。
$ php bin/console eccube:generate:proxies
$ php bin/console cache:clear --no-warmup
$ php bin/console eccube:schema:update --force --dump-sql

3)注文手続き画面に項目追加しました
app/template/default/Shopping/index.twig

<div class="ec-orderStaff">
 <div class="ec-rectHeading">
  <h2>{{ form_label(form.staff_name,'受付担当者')}}</h2>
</div>
 <div class="ec-input">{{ form_widget(form.staff_name, {'attr': {'placeholder': '山田太郎'|trans, 'rows': '1'}}) }}{{ form_errors(form.staff_name) }}</div>
</div>

4)同様に注文確認画面と完了画面にも項目追加し、試したのですが、完了画面でデータが消えます。dtb_orderテーブルのstaff_nameカラムにも注文確認までは無事登録されているのですが、注文完了と同時にNULLになります。

5)/src/Eccube/Controller/ShoppingController.phpで
データの中身を調べましたが下記の部分でデータがNULLになります。

/**
* 注文処理を行う.
*
* 決済プラグインによる決済処理および注文の確定処理を行います.
*
* @Route("/shopping/checkout", name="shopping_checkout", methods={"POST"})
* @Template("Shopping/confirm.twig")
*/
public function checkout(Request $request)
{
// ログイン状態のチェック.
if ($this->orderHelper->isLoginRequired()) {
log_info('[注文処理] 未ログインもしくはRememberMeログインのため, ログイン画面に遷移します.');

return $this->redirectToRoute('shopping_login');
}

// 受注の存在チェック
$preOrderId = $this->cartService->getPreOrderId();
$Order = $this->orderHelper->getPurchaseProcessingOrder($preOrderId);
if (!$Order) {
log_info('[注文処理] 購入処理中の受注が存在しません.', [$preOrderId]);

return $this->redirectToRoute('shopping_error');
}

//データチェック1(データあり)
//var_dump($Order->getStaffName());exit;


// フォームの生成.
$form = $this->createForm(OrderType::class, $Order, [
// 確認画面から注文処理へ遷移する場合は, Orderエンティティで値を引き回すためフォーム項目の定義をスキップする.
'skip_add_form' => true,
]);

//データチェック2(データあり) var_dump($Order->getStaffName());exit;

$form->handleRequest($request);

//データチェック3(データNULL!!!) var_dump($Order->getStaffName());exit;

if ($form->isSubmitted() && $form->isValid()) {
log_info('[注文処理] 注文処理を開始します.', [$Order->getId()]);




いまいち仕組みがわからず、どこをどう直したら良いかわかりません。
ご教授いただけないでしょうか?
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 注文手続きに入力項目追加したが注文完了でNULLになる akadota 2020/10/9 11:13
     Re: 注文手続きに入力項目追加したが注文完了でNULLになる umebius 2020/10/9 12:07
       Re: 注文手続きに入力項目追加したが注文完了でNULLになる akadota 2020/10/9 14:09
         Re: 注文手続きに入力項目追加したが注文完了でNULLになる umebius 2020/10/9 14:14
           Re: 注文手続きに入力項目追加したが注文完了でNULLになる akadota 2020/10/9 16:05
             Re: 注文手続きに入力項目追加したが注文完了でNULLになる akadota 2020/10/10 14:42

 



ログイン


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

統計情報

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

投稿数ランキング

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