バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
38san
投稿日時: 2019/1/31 16:17
対応状況: −−−
新米
登録日: 2019/1/31
居住地: 関東周辺
投稿: 6
3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
------------------------------------------------------------
▼私のインストール状況と運用環境になります。
------------------------------------------------------------
[EC-CUBE] 3.0.17
[レンタルサーバ] さくらインターネット及びヘテムル
[OS] -----
[PHP] Version 7.1.14
[データベース] MySQL 5.6.23
[WEBサーバ] Apache
------------------------------------------------------------

【ご質問内容】
3系の商品登録の際の必須判定(エラー表示)と設定について

管理画面>>商品管理>>商品登録 でデフォルトの場合『商品名』と【販売価格』のみ空欄だと「入力されていません。」と赤文字で注意を促されるかと思います。こちらの入力不備の判定を商品説明とカテゴリ選択(なにも選択をしていない時)などにも表示をさせて、入力忘れ防止と登録できないようにしたいと思っております。
2系の時は、『EXIST_CHECK」 というテキストでエラー文を出していたと記憶しておりますが、3系の場合はこのような動作を
したいときに修正する箇所はどのあたりをどのように記述すればいいのでしょうか?
tsuji
投稿日時: 2019/1/31 17:41
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
38san 様

3系では入力チェックをFormTypeを使ってしています。

端的にいうとNotBlankを追加することで可能です。

具体的に言いますと例えば、以下のファイルの
ShopMasterType.php

以下の記述のように記載します

            ->add('shop_name', 'text', array(
                'label' => '店名',
                'required' => true,
                'constraints' => array(
                    new Assert\NotBlank(),  // ←この部分です。
                    new Assert\Length(array(
                        'max' => $config['stext_len'],
                    )),
                )
            ))


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

38san
投稿日時: 2019/2/1 0:51
対応状況: −−−
新米
登録日: 2019/1/31
居住地: 関東周辺
投稿: 6
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
tsuji 様
早速の返信、助言ありがとうございました。
記述のとおりFormTypeの『NotBlank』を別項目の部分に追加して,須判定ができるようになりました。
追加質問になりますが、テキストエリア以外の商品カテゴリ選択部分
フィールドタイプ?の必須判定と選択忘れの際のエラー表示も行いたいと思います。

->add('Category', 'entity', array(
'class' => 'Eccube\Entity\Category',
'property' => 'NameWithLevel',
'label' => '商品カテゴリ',
'multiple' => true,
'mapped' => false,
// Choices list (overdrive mapped)
'choices' => $arrCategory,
))

この部分に追加と思うのですが、テキストエリアと同様のFormTypeの『NotBlank』では、カテゴリを1つも選択をしなかった場合、必須判定とエラー表示がされないかと思います。この部分にはどのような記述が必要となりますでしょうか?
tsuji
投稿日時: 2019/2/1 11:20
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
38san 様

defaultでrequiredはtrueになっていると思いますし、
以下を追加することで必須チェックが追加されると思います。

                'constraints' => array(
                    new Assert\NotBlank(),
                )


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

38san
投稿日時: 2019/2/1 12:05
対応状況: −−−
新米
登録日: 2019/1/31
居住地: 関東周辺
投稿: 6
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
tsuji 様

ProductType.phpに
記述の部分を追加してもやはり、カテゴリ選択だけは
必須チェックが入りませんでした。この部分は特にカスタマイズもしておりませんのでテキスト入力の必須チェックとは何か違うのですかね。。
468
投稿日時: 2019/2/1 15:31
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
tsujiさんのおっしゃられる記述で問題無いかと思いましたので、
以下のファイルに追記して確認してみました。
/src/Eccube/Form/Type/Admin/ProductType.php

すると、新規登録時は未選択でもエラーは発生せず登録が完了してしまい、、
その後の特に未選択のエラーは発生せずに更新できるようです。
一度でもカテゴリを登録して、その後、カテゴリを全て解除すると、
エラーが表示されるようになりました。
一度もカテゴリを選択していない状態ではNotBlank()は上手く動作しないようです。

以下のページに、entityTipeでmultipleを有効にしている状態では
NotBlankは利用できない旨の回答があり、
代わりにCountを利用するコードが記載されていました。
https://stackoverflow.com/questions/41099599/symfony2-notblank-constraint-not-working-on-entitytype

カテゴリのフィールドを以下のように記述したところ、
新規登録時でも入力チェックが発生するようになりました。

->add('Category', 'entity', array(
    'class' => 'Eccube\Entity\Category',
    'property' => 'NameWithLevel',
    'label' => '商品カテゴリ',
    'multiple' => true,
    'mapped' => false,
    // Choices list (overdrive mapped)
    'choices' => $arrCategory,
    'constraints' => array(
        new Assert\Count(array(
            'min' => 1,
            'minMessage' => "入力されていません。"
        ))
    )
))



----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

38san
投稿日時: 2019/2/1 23:04
対応状況: 解決済
新米
登録日: 2019/1/31
居住地: 関東周辺
投稿: 6
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
468 様 tsuji 様
この度は返信・回答いただきありがとうございました。
カテゴリ選択の必須チェックも、新規登録時に無事されるようになりました。商品登録のミスがこれで減りますのでスムーズに運用できるようになり喜んでおります。

ご教授頂きありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,286名です
総投稿数は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.