バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > フロント機能 > 商品をカートに入れた際、規格が選ばれていないときのエラー表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rabupon
投稿日時: 2017/4/25 11:33
対応状況: −−−
常連
登録日: 2008/11/14
居住地:
投稿: 42
商品をカートに入れた際、規格が選ばれていないときのエラー表示
商品に規格設定してあり、
商品をカートに入れた際、規格が選択されていないときに
「入力されていません」とエラー表示されるのですが、
規格名が「サイズ」だった場合に
「サイズが入力されていません」もしくは「サイズが選択されていません」と表示したいのですが、可能でしょうか?
umebius
投稿日時: 2017/4/25 11:47
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: Tokyo
投稿: 671
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
できますよ。AddCartType.phpのvalidateメソッドの一部を下記に修正してください。

if ($this->Product->getClassName1()) {
                $context->validateValue($data['classcategory_id1'], array(
                    new Assert\NotBlank(),
                    new Assert\NotEqualTo(array(
                        'value' => '__unselected',
                        'message' => $this->Product->getClassName1().'が入力されていません' // ※ここ一行だけ変更してます
                    )),
                ), '[classcategory_id1]');
            }


----------------
//////////////////////////////
(株)U-Mebius EC-CUBE3 カスタマイズ・高速化 ・バグ修正
EC-CUBE関連技術者の採用もお問い合わせください。


umebius
投稿日時: 2017/4/25 11:47
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: Tokyo
投稿: 671
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
ちなみにバージョンによってコードが違うかもしれませんので読み替えてください。
h_tanaka
投稿日時: 2017/4/25 11:49
対応状況: −−−
長老
登録日: 2016/7/22
居住地: 愛媛県
投稿: 290
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
src/Eccube/Form/Type/AddCartType.php
のバリデータのパラメータ message の値を変更してやればできます。
規格名を取得して、

$message = 'form.type.select.notselect';
if ($className) {
    $message = $className.'が入力されていません';
}


----------------
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

rabupon
投稿日時: 2017/4/25 16:40
対応状況: 解決済
常連
登録日: 2008/11/14
居住地:
投稿: 42
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
ありがとうございます。

希望通りできました
rabupon
投稿日時: 2017/4/25 16:41
対応状況: 解決済
常連
登録日: 2008/11/14
居住地:
投稿: 42
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
ありがとうございます。
参考になりました
rabupon
投稿日時: 2017/5/10 17:49
対応状況: −−−
常連
登録日: 2008/11/14
居住地:
投稿: 42
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
時間がたってからすみません。

規格が2つある場合も同様に下記のように変更いたしました。

public function validate($data, ExecutionContext $context)
{
if ($data['mode'] !== 'add_favorite') {
$context->validateValue($data['product_class_id'], array(
new Assert\NotBlank(),
), '[product_class_id]');
if ($this->Product->getClassName1()) {
$context->validateValue($data['classcategory_id1'], array(
new Assert\NotBlank(),
new Assert\NotEqualTo(array(
'value' => '__unselected',
'message' => $this->Product->getClassName1().'を選択してください' // ※ここ一行だけ変更してます 'message' => 'form.type.select.notselect'
)),
), '[classcategory_id1]');
}
//商品規格2初期状態(未選択)の場合の返却値は「NULL」で「__unselected」ではない
if ($this->Product->getClassName2()) {
$context->validateValue($data['classcategory_id2'], array(
new Assert\NotBlank(),
new Assert\NotEqualTo(array(
'value' => '__unselected',
'message' => $this->Product->getClassName2().'を選択してください' // ※ここ一行だけ変更してます 'message' => 'form.type.select.notselect'
)),
), '[classcategory_id2]');
}
}
}


しかし、1つ目がカラー、2つ目がサイズなのですが、
カラーの方は「カラーを選択してください」に変更されましたが、
サイズの方は「入力されていません」で変更されません。

修正の仕方が違うのでしょうか?
468
投稿日時: 2017/5/11 3:36
対応状況: −−−
仙人
登録日: 2008/10/26
居住地:
投稿: 615
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
私もそこのメッセージで困った事があるのですが、
規格2のプルダウンの「選択してください」が
<option value="">選択してください</option>
になっていて、
「__unselected」が送信されていない事が原因になります。

サイズの「入力されていません」のメッセージはnew Assert\NotBlank()のエラーメッセージが表示されています。

//商品規格2初期状態(未選択)の場合の返却値は「NULL」で「__unselected」ではない
↑上記のコメントはこの事象を指しているのだと思います。

私は、/html/template/default/js/eccube.js 441行目の記述を
var option = $('<option />').val(id ? id : '').text(name);

var option = $('<option />').val(id ? id : '__unselected').text(name);
に変更して、未選択時に「__unselected」が送信されるように修正しました。

上記の変更で、規格2のプルダウンの「選択してください」が
<option value="__unselected">選択してください</option>
で出力されるようになると思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料blog

rabupon
投稿日時: 2017/5/11 9:06
対応状況: 解決済
常連
登録日: 2008/11/14
居住地:
投稿: 42
Re: 商品をカートに入れた際、規格が選ばれていないときのエラー表示
ありがとうございます。

教えていただいたように修正したら、
規格2でも思うようなエラーになりました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は19,623名です
総投稿数は82,108件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1632
4
yuh
1366
5
red
1059
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
782
10
umebius
671
11
tao_s
646
12 sumida 638
13
homan
633
14
468
615
15 karin 609
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEガイドブック
Copyright© LOCKON CO.,LTD. All Rights Reserved.