[解決済み] WCEX Widget Cartでダイアログが画面外に

フォーラム 拡張プラグイン [解決済み] WCEX Widget Cartでダイアログが画面外に

  • このトピックには6件の返信、4人の参加者があり、最後にFRAにより11年、 9ヶ月前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #52260
    FRA
    参加者

    動作に関するご質問の場合は必ずご記入ください。


    WordPress のバージョン:3.5.1

    Welcart のバージョン:1.2.3

    ご利用のテーマ:オリジナル

    症状を確認したブラウザ:chrome, IE9

    サーバー(会社名、サービス名):minibird

    SSLの利用: 共用SSL

    WordPress のパーマリンク設定:デフォルト


    いつもお世話になっております。

    表題の通り、WCEX Widget Cart1.0.7を利用しておりますが、「カートに入れる」ボタンを押した時に一切ダイアログが出ず、画面に変化がないため表面上はボタンが壊れているようかに見えてしまいます。しかし実際はカートに商品が入っており、ウィジェット上では商品がカートに入っているのが見るとわかります。

    一方、商品が入っているカートの、ウィジェット上の削除ボタンを押すと、「削除しています」「削除しました」というダイアログはきちんと出ます。

    どのような原因が考えられるでしょうか?

    #66131
    komokomo
    参加者

    こんにちは。

    恐らくjavascriptエラーだと思います。

    ブラウザに何も出ていませんか?

    パソコンの「エラーごとに通知」などを有効にしてみてください。

    あとは、プラグイン同士で接触している可能性があるので1つ1つ無効にして確かめてください。

    #66132
    FRA
    参加者

    komokomo様、レスありがとうございます。

    検証しましたところ、原因というか症状がわかりました。

    ダイアログが画面外(ページの上部)で出ているようで、カートボタンがページ下部にあるために、一見すると何も起こっていないように見えてしまうようです。

    (ウィジェットはページ上部にあるために、アイテム削除の時はダイアログが見えていました)

    引き続き、症状改善につき開発者の方含めご助言ありましたら宜しくお願い致します。

    #66133
    masuda-clair
    参加者

    私も同様のことで、問い合わせていました。

    で1.0.7でだいたいはよかったのですが、ブラウザのサイズで

    はみ出したりするので、フックを利用して

    ブラウザの固定位置へ表示するように変えました

    特に、メインコンテンツの幅がブラウザの幅より大きく小さくなる場合

    (半分程度)

    このようになるみたいですね

    (内部で、位置を計算しているようです)

    参考になりましたでしょうか?

    #66134
    FRA
    参加者

    masuda-clair様、レスありがとうございます。

    トピックを拝見させて頂きました。

    cssでposition: fixedによって固定表示もしてみましたが、一見すると治ったかのように見えても、仰る通りブラウザの幅によってダイアログが画面外にはみでますね。フックでの調整を試みてみます。

    以前のバージョンではこのようなことはなかったので、根本的な原因がわかると良いのですが・・・。

    (症状が詳しくわかって参りましたので、トピックタイトルを解りやすく変更させて頂きました)

    #66135
    nanbu
    キーマスター

    こんにちは。

    すみません。WCEX Widget Cart1.0.7 のバグの様です。

    WCEX Widget Cart1.0.7 をお使いの場合は、このフィルターをテーマ内のfunctions.phpに追記してみて下さい。

    add_filter( 'wcwc_filter_widgetcart_script', 'my_wcwc_script' );
    function my_wcwc_script(){
    $script = "<script type='text/javascript'>
    /* <![CDATA[ */
    wcwc_cssObj = {
    'display': 'block',
    'left': (jQuery(window).width()/2 - 100) + 'px',
    'top': (jQuery(window).height()/2 - 40) + 'px',
    'position': 'fixed'
    };
    /* ]]> */
    </script>";
    return $script;
    }

    #66136
    FRA
    参加者

    nanbu様、ご確認頂きありがとうございました。

    CSSによるレスポンシブデザインを利用しており、タブレットやスマホ等でブラウザ画面が小さくなるとまだ若干はみでますが(表示位置の数値を色々変えてみましたが、まだしっくりくるところが見つけられておりません)、全くダイアログが見えないこともないということで、ご教授頂いたコードにて一旦解決とさせて頂きます。ありがとうございました。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。