返信先: 【解決済】usces_filter_incart_checkで返すエラーが表示されない(続)
フォーラム › 使い方全般 › 【解決済】usces_filter_incart_checkで返すエラーが表示されない(続) › 返信先: 【解決済】usces_filter_incart_checkで返すエラーが表示されない(続)
yskysmr 様
いつも大変お世話になりありがとうございます。
また、この度は丁寧なリファレンスまで作成いただきまして誠にありがとうございました。
お陰様で、urldecode($sku)で試しましたところ、(:)コロンは、ちゃんとメッセージが表示できるようになりました。ありがとうございます。
usces_filter_incart_checkでは、過去にWelcart 本体にデフォルトで存在する、在庫チェックやオプションチェックなどの $mes にもカスタマイズをしておりまして、エラーメッセージを追加( $mes .= )しただけでなく、元々の$mesを変更するために初期化( $mes = array(); )からスタートして、元々のコードをなぞるように書いて部分的にカスタマイズしていました。
この場合、(:)コロンを使う場合、他の $mes も変更した方がよろしいのでしょうか?
例
デフォルトで存在する、在庫チェックのエラーメッセージ
$mes[ $post_id ][ $sku ] = __( 'enter the correct amount', 'usces' ) . '<br />';
オプションチェック用のエラーメッセージ
$mes[ $post_id ][ $sku ] .= sprintf( __( 'Chose the %s', 'usces' ), urldecode( $value ) ) . '<br />
など
上記に対しても修正が必要でしょうか?
例えば
$mes[ $post_id ][ urldecode( $sku ) ] = __( 'enter the correct amount', 'usces' ) . '<br />';
あるいは、デフォルトのコード内に$sku_code = urldecode( $sku );が存在しましたので、
$mes[ $post_id ][ $sku_code ] = __( 'enter the correct amount', 'usces' ) . '<br />';
でも問題ないのかと思います。
これらは、実際には、PHPのエラーが出る前に JavaScript のエラーが先に出るので、テスト段階でも詳しく確かめることはできないでおりました。
この(:)コロン問題は、JavaScript のエラー表示に任せておけば、PHP側のエラー表示は特に気にする必要もないでしょうか?それとも、JavaScript 側にも修正が必要なのでしょうか?
それから、実は、urldecode()については、当初から目星をつけてテストをしていたのですが、想定通りに動いてくれない部分があり、自分の拙いコーディングを何度も疑ってやり直し七転八倒しておりました。
お陰様で、原因の1つは、今回、ご指摘いただいたurldecode()だと確定しました。
これでも直らない部分があり、今では複合的な原因があるように感じております。
その直らない部分といいますのは、WCEX SKUセレクトを有効化し、SKUセレクト用のSKUを作成していましたところ、SKUの登録順で1番目のSKUをカートに入れるときにはエラーメッセージが出現しましたが、2番目以降のSKUをカートに入れる時にはエラーメッセージが出現しないというものです。
具体的に作りたいものは、特定の商品ページに複数のSKU作り、各々のSKUを排他的にしか購入できないようにするものです。今回、コロンの問題を排除できたものの、それでもこの部分はうまくいきませんでした。
そこで確認なのですが、
Welcart Basic ver.1.8.8
wc_templates/wc_sku_select.php
133
<div class="error_message"><?php usces_singleitem_error_message( $post->ID, usces_the_itemSku( 'return' ) ); ?></div>
wc_sku_select.php においても、「シングルアイテムエラーメッセージ」という関数名となっておりますが、共通という理解で合ってますでしょうか?(sku select 用のエラーメッセージ取得関数は存在しますか?)
今回初めて、商品情報編集ページでSKUセレクト用のSKU を使用しないで複数SKUをばらして作成すると、自分のコードでも、すべてのSKUで $mes メッセージを表示できることに気づきました。
usces_singleitem_error_message() では、WCEX SKU Select に対応できないのでしょうか?
もしかして、usces_filter_incart_checkのコーディングを工夫すれば、何とかなるものでしょうか?
お手数をお掛けいたしますが、ご確認いただけますと幸いです。
よろしくお願いいたします。
PAGE TOP