sitemap関数関連の不具合報告

syokken > sitemap関数関連の不具合報告 @ 2017/2/15 16:48
4系のwiki等を参考にsitemapで表示されるテーマのカスタマイズを行おうといくらか試行し動作がおかしい気がしたので報告します。

BcBaserHelper.phpのsitemap関数を辿ったところcontents_menuエレメントを参照している様子で、APIドキュメントにはsitemapエレメントと記載されておりソースまたはドキュメントが誤っているようです。
(参考:実際にsitemap.phpを作成しましたが動作はしませんでした。)

リンク:
APIドキュメント(sitemap):http://api.basercms.net/classes/BcBaserHelper.html#method_sitemap
GitHub(BcBaserHelper.php):https://github.com/baserproject/basercms/blob/41e82b98d680820e582a23e1639df69ea4e1a797/lib/Baser/View/Helper/BcBaserHelper.php
※githubの確認は最新のソース(ブランチ:dev-4)を参考にしました。

カスタマイズするにあたってsitemap関数は挙動がよく分からなかったので参照されている根本のエレメントcontents_menu.phpを作成し、$this->BcBaser->contentsMenu()で呼び出して対処しました。


またここで別の不具合がありまして、特定のフォルダ階層において重複が発生することを確認しました。
特定の環境とは任意の名称のフォルダ階層を1つ用意し、その階層直下にindexというURLに設定したページを設置すると$this->BcBaser->contentsMenu()で呼び出したとき、階層が重複してしまいます。
表示される理由は分からなくはないですが、訪問者にとっては誤りであると判断されると思うのでバグかなぁ。と考えた次第です。
とりあえず一時的な対策としてbc_sample/Elements/global_menu.phpの40、41行目の間にarray_shift($content['children'])を挟んで1つ目の配列を1つ消して対応はしています。
※呼び出しはcontentsMenu()で行っていますので実際にはglobal_menu.phpの名称をcontents_menu.phpに変更しています。
これは内部のバグというよりかはテーマのバグかもしれません...。

長く読みづらい報告で申し訳ありません。

参考画像:


■ BaserCMSのバージョン:4.0.1
■ レンタルサーバー名:lolipop
■ スマートURLの利用:ON
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL
■ PHPスキル(自己評価):C
ryuring > Re: sitemap関数関連の不具合報告 @ 2017/2/19 13:29
syokkenさん、こんにちは。

サイトマップとパンくずについて、indexページとフォルダが重複しないように修正を入れました。
http://project.e-catchup.jp/issues/16180
http://project.e-catchup.jp/issues/16181

次の v4.0.2 に反映されます。

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

syokken > Re: sitemap関数関連の不具合報告 @ 2017/2/19 23:16
@ryuring さん
迅速な修正ありがとうございました。
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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