課題 #17626

getContentsName() が返す文字列について

Added by . tecking about 3 years ago. Updated about 3 years ago.

Status:終了Start date:
Priority:通常Due date:
Assignee:江頭 竜二% Done:

100%

Category:その他
Target version:4.0.5

Description

例えば、baserCMSインストール直後のように

  • サービス(example.com/service/)
    • サービス1(example.com/service/service1)
    • サービス2(example.com/service/service2)
    • サービス3(example.com/service/service3)

という構造となっているケースにおいて。

「サービス」を表示するテンプレート(デフォルトでは /lib/Baser/View/ContentFolders/default.php )で
getContentsName() を使ったときに文字列 ContentFolders でなくフォルダ名を返した方がよいのではないでしょうか。

フォルダごとにCSSや表示画像の処理を切り分ける実装が想定されるので、テーマ制作者にとっても親切なのではと考えます。


Associated revisions

Revision 4604a41e
Added by 江頭 竜二 about 3 years ago

fix #17626 BcBaserHelper::getContentsName() 改善

- フロントエンドでフォルダにアクセスした際、想定する挙動になっていなかった為

History

#1 Updated by 江頭 竜二 about 3 years ago

  • Assignee set to . tecking

確認したのですが、/service/ と /service/service1 にアクセスしている際、どちらも、関数が返す値は、「Service」 になってたようでした。
もしかしたら問題点が伝わってないかもしれません。

ちなみに、この関数のテストケースが以下より確認できます。
https://github.com/baserproject/basercms/blob/dev-4/lib/Baser/Test/Case/View/Helper/BcBaserHelperTest.php#L1176

#2 Updated by 江頭 竜二 about 3 years ago

あ、もしかして管理画面側という事でしょうか?
もし、そうであれば、getContentsName() は、フロントエンド用の関数であり、管理画面はサポートしてないです。

#3 Updated by . tecking about 3 years ago

あ、もしかして管理画面側という事でしょうか?
もし、そうであれば、getContentsName() は、フロントエンド用の関数であり、管理画面はサポートしてないです。

フロント側で getContentsName() を使ったときの話なのですが、もう一度こちらで環境つくって確認してみますね。

#4 Updated by 江頭 竜二 about 3 years ago

お願いしますー

#5 Updated by . tecking about 3 years ago

  • Assignee changed from . tecking to 江頭 竜二

リポジトリから git clone してVagrant環境で新規インストール、デフォルトテーマ(bc_sample)の /Layouts/default.php に

<?php echo $this->BcBaser->getContentsName() ?>

を追記して確認した結果、下記のようになりました。

《/service/ がコンテンツフォルダのみの場合(インストール直後)》
  • /service/ …… ContentFolders
    • /service/service1 …… Service
《/service/ 配下に固定ページ index を追加した場合》
  • /service/ …… Service
    • /service/service1 …… Service

コンテンツフォルダのみの場合に「ContentFolders」を返すのは仕様どおりとも解釈できるのですが、固定ページ index を作らない運用も想定される(*)のでオプション値などで対応できた方がよいのかなと思いました。

(*)/lib/Baser/View/ContentFolders/default.php を当てて下層ページのリストを自動生成する など

#6 Updated by 江頭 竜二 about 3 years ago

/service/ …… ContentFolders

これは仕様どおりではないですね。あくまで、URLをベースとして生成される仕様です。
バグだと思いますので、再度調査しますね。

#7 Updated by 江頭 竜二 about 3 years ago

  • Category set to その他
  • Target version set to 4.0.5

再現しました。これからなおします。

#8 Updated by 江頭 竜二 about 3 years ago

  • Status changed from 担当 to 解決
  • % Done changed from 0 to 100

更新履歴 basercms|commit:4604a41eaaf355fc511c6bb3436e0db54b87ef16 で適用されました。

#9 Updated by 江頭 竜二 about 3 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF