返信先: 商品ページのテキストエリア文字数制限を設定するには

フォーラム テンプレート(テーマ) 商品ページのテキストエリア文字数制限を設定するには 返信先: 商品ページのテキストエリア文字数制限を設定するには

#71465
kitamuuu
参加者

その記述ですと、PHPとJavascriptが入り混じっているのでエラーになってしまいます。
記述はPHPで行って下さい。

例えば


add_filter( 'usces_filter_incart_check', 'my_incart_check', 10, 3 );
function my_incart_check($mes, $post_id, $sku){
	$mes[$post_id][$sku] .= 'エラー';
	return $mes;
}

とすると、毎回「エラー」というメッセージが表示されるようになります。
あとはテキストエリアの値を$_POSTで受け取り、mb_strlenというPHPの関数を使って
文字数をカウントできるので、テキストエリアに入力された値が20文字を超えている場合にのみこの処理を行うよう、条件分岐をすればいいと思います。
Welcartの[基本設定]>[共通オプション]を使ってテキストエリアを挿入しているのであれば、オプション名をひらがなや漢字等で指定していると、urlencodeされたものがテキストエリアのnameとなっているので以下のように取得して下さい。
「オプション名」という記述は文字数制限したい共通オプション名に置き換えてください。


$enc_txtarea_op = urlencode('オプション名');
$textarea_val = $_POST['itemOption'][$post_id][$sku][$enc_txtarea_op];