Topics トピックス

baserCMSでトップページに「index.html」でアクセスされるとBcBaser::isHome()がfalseになる。

2022/02/02

いつも株式会社ヒニアラタのホームページをご覧いただき、ありがとうございます。

スクリーンショット 2022-02-02 15.57.54.png

BcBaser::isHome()がfalseになる

baserCMSでサイトを構築する際、トップページに「index.html」というように「.html」という拡張子付きでアクセスされると、ヘルパー「isHome()」がfalseを返してしまい、条件分岐でトップページだけの処理をしている際に問題となります(baserCMSのバージョンにもよりそうです)。

https://test.com/ ・・・true
https://test.com/index ・・・true
https://test.com/index.html ・・・false

getContentName()を併用する

これは、isHome()の仕様のようですので、実際のテーマ作成の際には下記のようにgetContentName()を併用して使うと「index.html」が来ても上手く条件分岐へと入ってくれます。

<?php
if($this->BcBaser->isHome() || $this->BcBaser->getContentsName() == "Home")
{
   〜trueの処理〜
}
?>

お困りの方がいれば、お試しください。

この記事の確認環境

・baserCMS 4.5.4
・SQLite
・PHP 7.4
・自前サーバー、MAMP環境など

お問い合わせCONTACT

弊社への各種ご相談は下記よりどうぞ