バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
38san
投稿日時: 2019/1/31 16:17
対応状況: −−−
新米
登録日: 2019/1/31
居住地: 関東周辺
投稿: 4
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
居住地:
投稿: 837
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
居住地: 関東周辺
投稿: 4
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
居住地:
投稿: 837
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
38san 様

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

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


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

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

ProductType.phpに
記述の部分を追加してもやはり、カテゴリ選択だけは
必須チェックが入りませんでした。この部分は特にカスタマイズもしておりませんのでテキスト入力の必須チェックとは何か違うのですかね。。
468
投稿日時: 2019/2/1 15:31
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1685
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
居住地: 関東周辺
投稿: 4
Re: 3系の商品登録の際の必須判定(エラー表示)と必須設定のやり方わかりますか?
468 様 tsuji 様
この度は返信・回答いただきありがとうございました。
カテゴリ選択の必須チェックも、新規登録時に無事されるようになりました。商品登録のミスがこれで減りますのでスムーズに運用できるようになり喜んでおります。

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


 



ログイン


ec-cube.co

統計情報

総メンバー数は42,289名です
総投稿数は90,791件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1882
4
468
1685
5
yuh
1571
6
red
1245
7
umebius
1200
8
fukap
907
9
tsuji
837
10
shutta
827
11 ramrun 789
12
tao_s
699
13
h_tanaka
693
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.