バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 規格設定後に商品登録ができない

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2016/8/29 16:44
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
規格設定後に商品登録ができない
商品の規格設定を行った後、その商品を登録(編集)しようとすると「登録できませんでした。」というメッセージが表示され、登録できません。
規格設定を行っていない商品は登録することができます。

怪しいと思うのは、規格を設定した後は商品登録にて非表示になる項目の中に入力必須(Assert\NotBlank)の項目があることです。
・商品コード code
・販売価格 price02

しかし、デバッグ(index_dev.php)しても何も表示されず、原因を突き止められない状況です。
解決方法をお教え願いたいです。
または、自分でデバッグを行うためにAssert\NotBlankなどのチェックがどのソースファイルで行われているのかをお教え願いたいです。

[環境]
EC-CUBE 3.0.10
PHP 5.6.24
umebius
投稿日時: 2016/8/29 22:54
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 規格設定後に商品登録ができない
Assert\NotBlankなどのチェックが行われているのは、
/varndor/symphony/validator/Validator.phpのあたりだったと思います。

確かにそのエラーメッセージははFormのvalidationにひっかかっているものですね。
デバッグツールでPOSTしているパラメータを見直してみてはいかがでしょうか。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

h_tanaka
投稿日時: 2016/8/30 10:19
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Re: 規格設定後に商品登録ができない
ご返信ありがとうございます。
POSTパラメーターの確認方法がわからないので、お教えいただければ幸いです。

/vendor/symfony/validator/Constraints/NotBlankValidator.php
にて、次のデバッグ文を挿入したところ、「NULL」が表示されました。
        if (false === $value || (empty($value) && '0' != $value)) {
          var_dump($value);
          die;


これにより、NotBlankで引っかかっていることは分かりましたが、どのパラメーターで引っかかっているかがわからない状況です。
umebius
投稿日時: 2016/8/30 11:38
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 規格設定後に商品登録ができない
POST値はブラウザのデバッグツールで確認できます。
MacのChromeでしたらCommand+Option+iなどで開き、Networkタブ。

POSTできていればFormBuilderが定義に沿ってその値をちゃんと取得しているか、dumpするなどして確認してみてください。


h_tanaka
投稿日時: 2016/8/30 15:55
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Re: 規格設定後に商品登録ができない
進展しましたので連絡します。

/vendor/symfony/form/Form.php の770行目あたりに、
        if (count($this->getErrors(true)) > 0) {
var_dump($this->getErrors(true)->__toString());
            return false;
        }

のようにvar_dump()を追加することでエラー情報を取得することができました。

エラーメッセージは、「ERROR: フィールドグループに追加のフィールドを含んではなりません。」です。

存在しないフィールドをバリデートしようとするとこのメッセージが出るようですが、どこを修正すればよいかよくわかりません・・・。
h_tanaka
投稿日時: 2016/8/30 16:41
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
Re: 規格設定後に商品登録ができない
本件、自己解決しました。

/src/Eccube/Controller/Admin/Product/ProductController.php にて次をコメントアウト。
    /*
        // 規格あり商品の場合、規格関連情報をFormから除外
        if ($has_class) {
            $builder->remove('class');
        }
    */


/src/Eccube/Resource/template/admin/Product/product.twig の各formが非表示の時はhiddenで値を持たせるように修正。
    {% if has_class == false %}
        {{ form_row(form.class.code) }}
    {% else %}
        <input type="hidden" id="admin_product_class_code" name="admin_product[class][code]" value="1">
    {% endif %}


    {% if has_class == false %}
        {{ form_label(form.class.price02) }}
    {% else %}
        <input type="hidden" id="admin_product_class_price02" name="admin_product[class][price02]" value="1">
    {% endif %}



    {% if has_class == false %}
        {{ form_row(form.class.sale_limit) }}
    {% else %}
        <input type="hidden" id="admin_product_class_stock" name="admin_product[class][stock]" value="1">
    {% endif %}


これにより、規格設定後に商品登録ができない問題が解決しました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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