フォーラムへの返信
-
投稿者投稿
-
追加のほど、ありがとうございます。
使い方などで解らない事や疑問点などがあれば、また別トピックで質問するようにいたします。♥ 0いいねをした人: 居ませんテーマの範疇でもない
プラグインの範疇でも無い想定外の事を私の制作の方でやっちゃってるので、難しく考えることになっちゃって…申し訳ないです。
プラグインを幾つも作った際に、
snow_monkey_template_part_root
のフックを掛けちゃうと、Rootの取り合いになっちゃう為に上手く動作しなくなっちゃうから、配布するとか拡張目当ての共通プラグインでは使わないようにする等の注意は必要かなと思ったりしています。
slug などで分岐はできるのですが、同じテンプレートの場合は、優先度が高い低い関係なく最後に設定された return の値に合わせられてしまいますよね?また、
Helper::get_template_part
でフックしている template_parts を呼び出すと、その呼び出したテンプレートが同 filter をフックをしている場合は、無限ループに陥るので、それもremove_filter
で消したりする必要があるようなのですが、remove_filter
って無名関数とか使えない(?)ので、ちょっとそこだけ別 function で記述するなど、ややスムーズにならないーとか考えてしまっています…。上手くお互いのプラグインを上書きできる仕組みって、それこそテーマの範疇じゃないのですが、今後、そういうのも上手く使えるようになると嬉しいです。
ただ、他のテーマにない事でもありますし、ゆっくりと私の制作の方でも試行錯誤しながら良案を模索していければ良いなと思います。Snow Monkey Member Post v1.1.6 で正しい綴りに修正しました。
ありがとうございます!メンバー限定のテンプレートフックなども色々試していきます!♥ 0いいねをした人: 居ません修正の確認をいたしました。
iOS11.2以前やiOS現行、Androidの所持機種で問題なさそうです!
ありがとうございます。♥ 0いいねをした人: 居ません修正されている事を確認いたしました。ありがとうございます!
他のブロックでも正常に動作しておりましたので、問題は無いと思います。
トピック閉じます。♥ 0いいねをした人: 居ませんコメントアウトは無くなったのを確認しました。
しかし、アコーディオンブロックや一部のブロックが動かないようです。
メンバー限定の記事でない場合は動作しているので、これが原因かと思っておりますが、違う場合もありますので、そちらでもご確認いただければ幸いです。♥ 0いいねをした人: 居ませんMember Postの方は、多分このフィルターで出来るのかなと思ったのですが、
$template_path = apply_filters( 'snow_monkey_member_post_tepmlate_path', $template_path, $slug );
フィルタ名が誤字ってしまっているようでした…(>.<
こちらも合わせてご報告いたします……。また、このフックで変更出来ますでしょうか?
♥ 0いいねをした人: 居ませんコメントアウトによる問題が起こらないか動作検証をしていましたが、
Snow Monkey Blocksのアコーディオンブロックが動作しない問題があるようでした。
原因としては、コメントアウトが出力される事が原因で、next要素が取得できないことから動作しなくなっているようです。
そちらも合わせて、報告とさせて頂きます。♥ 0いいねをした人: 居ません実機でも大丈夫そうです!
これやってみて気づいたのですが、ノッチが右にあるときでも safe-area-inset-left は0にならないんですね。
そうなんですよね…
iPhoneだと角が丸いところまでの幅の値を取ってしまうのが原因で0にならなくて…。
Androidだとノッチの部分しか取らないので逆に0になってくれるのもあるみたいで。
私もこれが悩ましいです。
余白が大きくなっちゃうので、iPhoneでノッチの方向を取得する方法とかあれば良いのですが……♥ 0いいねをした人: 居ませんちなみにですが、一度変数に入れてから var で適用しているのはなぜでしょう?直接 env や constant 当てると問題があるのでしょうか?
「変数に入れているのは、携帯端末の回転中に再計算するのを防止する為」と海外サイトでは記載されていました。
その為、そうしています。
(※ 再発動を変数に代入する事で防げるのかデバッグ確認でも出来ませんでしたので、本当は直接入れても大丈夫かも…)なんかいっそ viewport-fit なくしちゃったほうが良い気がしてきました…。
それも一度考えたのですが、将来的なことを考えると解決にならないので悩んでました。
ほとんどのウェブサイトではviewport-fitが無かったり、対策されていなかったり、
横向きでウェブページを見るユーザー数が低いとも言われていたりしますので、私の方で難しく考えすぎなのでしょうか…♥ 0いいねをした人: 居ません色々と私たちの制作チームでもお客さんに合わせて調整をしましたが、ややこしい問題でした。
- デバイスが、右に対して傾いているか、左に対して傾いているか、CSSだけでは取れない。
- 左右両方にpaddingを入れた場合は両方に適用されるのでpadding余白が大きく、中央にかなり寄ってしまう。
- envだけではAndroid等で一部対応されず、またIE時等にCSS解釈が正しく行われない。
3の項もある為に、@supportsで対応する形をとりました。
また、2の項から、通常の場合、メニューは左に出るので、padding-bottomと、padding-leftに対して対策をすれば良いようです。
1の項に関しては、leftとrightは縦表示の場合は、leftとrightは0で返却され、topに関しては、iPhoneの場合は0ですがAndroidの場合は機種によってノッチのピクセル分の数字が返される場合があるようです。これによりトグルメニューの一番上の項目がAndroidの場合めり込んでしまう機種も存在していますのでpadding-topで対応した方が良いようです。しかし、padding分はメニュー幅が小さくなるので、ちょっと悩ましい問題です。
また、メニュー以外のコンテンツの場合、フル幅などの対応をどうしたら良いのかは悩み所です。
l-containerにpaddingを設けて対応するのが良いでしょうか?メニューの対策については、その対策情報を勝手ながら下記に共有します。
ご参考になれば幸いです。よろしくお願いします。/* 通常の場合はpaddingを0に設定しておきます。drawer-navに設定しているのはエリア全体に掛ける為です */ #drawer-nav { padding-top: 0; padding-left: 0; padding-bottom: 0; } /* iOS11.0-11.2対応(旧Androidも) */ @supports (padding-left: constant(safe-area-inset-left)) { #drawer-nav { --safe-area-inset-left: constant(safe-area-inset-left); padding-left: var(--safe-area-inset-left); } } @supports (padding-top: constant(safe-area-inset-top)) { #drawer-nav { --safe-area-inset-top: constant(safe-area-inset-top); padding-top: var(--safe-area-inset-top); } } @supports (padding-bottom: constant(safe-area-inset-bottom)) { #drawer-nav { --safe-area-inset-bottom: constant(safe-area-inset-bottom); padding-bottom: var(--safe-area-inset-bottom); } } /* iOS11.2以降(Android 4系対応) */ @supports (padding-left: env(safe-area-inset-left)) { #drawer-nav { --safe-area-inset-left: env(safe-area-inset-left); padding-left: var(--safe-area-inset-left); } } @supports (padding-top: env(safe-area-inset-top)) { #drawer-nav { --safe-area-inset-top: env(safe-area-inset-top); padding-top: var(--safe-area-inset-top); } } @supports (padding-bottom: env(safe-area-inset-bottom)) { #drawer-nav { --safe-area-inset-bottom: env(safe-area-inset-bottom); padding-bottom: var(--safe-area-inset-bottom); } }
♥ 0いいねをした人: 居ませんドロワーメニューを開いたときに body を制御するというのがどうも疎になってない感じ
紐づいてもいない他の要素を制御をする違和感って、すごく解ります!
私も良く悩む問題です。bootstrap4などで作られているメニューデザインを参考にしても、
スクロールの制御されているものはほとんどがbodyにoverflow:hiddenなどで対応されているようです。
他に解決方法が無いので仕方なくそうしているような感じなのか、難しく考えすぎなのかも悩みますね。
こちらでも良い解決方法を探してみます。♥ 0いいねをした人: 居ませんお返事ありがとうございます。
独立していないことや識別子、違和感がでるなど、問題は多そうですね。
プラグイン側でフックを上手く掛けてみるなど工夫もして代替案などで対応するようにしてみます。♥ 0いいねをした人: 居ませんM Tさん
もしかしてですけど、Snow Monkeyの4系からアップデートされた感じでしょうか?
その場合は、useの部分の構造が5系から変わってるみたいなので、
5.1.0beta以上の元のフォルダで、search.phpの中身を<?php use Framework\Controller\Controller; Controller::layout( get_theme_mod( 'archive-page-layout' ) ); if ( have_posts() ) { if ( $_GET['fe_form_no'] == '0' ) { // /子テーマ/templates/view/search-form0.php をビューファイルとして読み込み Controller::render( 'search-form0' ); } else { // デフォルトのビューファイルを読み込み Controller::render( 'archive', 'search' ); } } else { Controller::render( 'no-match' ); }
にしてみたら、上手くいかないでしょうか?
旧バージョンと互換性は無いようですので、他にも変更されているところがある場合はuse文をその都度変更されると上手くいくと思います。♥ 0いいねをした人: 居ません横から失礼します。
トップページは「固定ページを割り当てたページ」でしょうか?それとも、普通に記事一覧でしょうか?
どちらでも、フル幅(?)になっているみたいです。
レイアウトや属性で「右サイドバー」などに変更しても反映がされないようです。
また検索結果などのページもサイドバーが効かないようです。あと、表示されないウィジェットエリアは「サイドバー」だけでしょうか。トップページ上部ウィジェットエリアとかもですかね?
「ホームページ上部」「ホームページ下部」「フッター」は表示されることを確認しました。
その他のサイドバーが出ていない検索結果などのページでもサイドバー以外のウィジェット表示を確認しています。
結果として、サイドバーだけの問題と思います。♥ 0いいねをした人: 居ませんロリポップで有れば、SSLの証明書はLet’s Encryptですね。
シングルサイトで.htaccessの部分追加もされているそうなので、.htaccessは問題なさそうです。
失礼しました。先ほどMAMPをインストールして、
httpsをする事を試してみましたが、保護されていない通信の警告が出る状態の場合で、
同じようにCSSとJS等のHTML外のリソースが正しく読まれないケースになる事を確認しました。
SSLの証明書エラーによる警告により、他のリソースを読む事を遮断される為に起こる症状のようです。HTML以外を正しくロード出来ない状態で、結果的にデザインが崩れてしまう事になっているのを確認しました。原因としては、MAMPのSSL化が正しく出来ていない可能性が高いのですが、
どう言う形でMAMPのSSLを正常に設定出来るのかは、私も解っていません。
ただ、この場合からhttpにした場合だと上手く表示されます。
キタジマさんがおっしゃられているように、httpにした上で試される方が良いかもしれません。また、その際に問題が出ないようでしたら、httpとhttpsの切り替えやローカルに変えたことによる影響で別の問題が発生してしまう可能性もありますので、可能であれば更新作業をサーバー上で行なった方が良いと思います。
♥ 0いいねをした人: 居ません -
投稿者投稿