【ratio_3_2 beta】グローバルナビゲーションが分裂する

webbin > 【ratio_3_2 beta】グローバルナビゲーションが分裂する @ 2018/4/23 19:10
皆様、ご無沙汰しております。
テーマ「ratio_3_2」の作者のうぇびんです。

このたび、エガシラさんのご協力をいただいて、baserCMS4版をリリースできることになりました。
リリース直前バージョンまでたどり着きましたが、いくつか大きな不具合が出ており、自己解決が難しい状況です。
皆様のお力をお借りできればと思います。

ベータ版はこちらからダウンロードできます。
http://ratio32-baser.cms-skill.net/archive/ratio_3_2_140beta.zip

こちらのスレッドでは、添付画像の通り、ログアウトするとグローバルナビゲーションが分裂してしまう問題について、アドバイスを頂ければ幸いです。
このテーマではPC用とスマートフォン用のメニューが二本出力されており、スマホ用がおかしな形で表示されてしまっているようです。

何卒宜しくお願いいたします。

goichi > Re: 【ratio_3_2 beta】グローバルナビゲーションが分裂する @ 2018/4/23 21:46
ウィジェットエリアが何かおかしいかもしれませんね、、、、。

/ratio_3_2/Elements/header.php L:43
$this->BcBaser->widgetArea(8);

の部分でグローバルメニューが一度呼び出されているような感じです。
この部分を消すか、管理画面でID8のウィジェットを停止させると、グローバルメニューが1つだけになりました。。。。バグ?


追記:
/lib/Baser/View/Helper/BcWidgetAreaHelper.php L:51行目付近

if (empty($_SESSION['Auth'][Configure::read('BcAuthPrefix.admin.sessionKey')]) && !isset($options['cache'])) {
$options['cache'] = '+1 month';
}

をコメントアウトすると上手く表示されますね・・・。
webbin > Re: 【ratio_3_2 beta】グローバルナビゲーションが分裂する @ 2018/4/25 12:40
if (empty($_SESSION['Auth'][Configure::read('BcAuthPrefix.admin.sessionKey')]) && !isset($options['cache'])) {
$options['cache'] = '+1 month';
}


こちら、私の方でも確認いたしました。
バグっぽいですね…ウィジェットエリアではなく、コンテンツメニューのキャッシュが出力されてしまいます。

ここはテキストウィジェットでアイコンを変更可能としていたのですが、テーマ内のエレメントに変更することで、今回は回避することにいたしました。
バグが解消されるに越したことはありませんが。

ありがとうございます!!
ryuring > Re: 【ratio_3_2 beta】グローバルナビゲーションが分裂する @ 2018/4/26 15:00
こんにちは。

この件確認しました。この件、getGlobalMenu() から、widgetArea() を入れ子で呼びだした場合に発生する「仕様」でした。
上記2つの関数は、2つともデフォルトでキャッシュを利用する仕様となっていて、入れ子で呼び出した場合にキャッシュファイルを特定できない問題が発生します。この為、入れ子にする場合には、getGlobalMenu() のキャッシュを下記のような記述で無効に無効にすべきです。

$this->BcBaser->getGlobalMenu(1, ['cache' => false])


ただ、無効にできないバグがあって、、、笑

先ほどなおしました。
http://project.e-catchup.jp/issues/21542

ただ、現行版の仕様としてはどうしようもないのでwebbinさんの選択のように直接エレメントで呼ぶのが最善となります。

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

webbin > Re: 【ratio_3_2 beta】グローバルナビゲーションが分裂する @ 2018/4/28 16:36
> getGlobalMenu() から、widgetArea() を入れ子で呼びだした場合に発生する

原因が把握できました。
ratio_3_2はエレメント getGlobalMenu() に、ナビゲーションバー全部を入れていたのですが
テンプレート構成を変えてページリスト部分だけを getGlobalMenu() に分離したところ、ウィジェットと共存できるようになりました。

ありがとうございます!!解決しました!
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
7 人のユーザが現在オンラインです。 (7 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 7