いつも株式会社ヒニアラタのホームページをご覧いただき、ありがとうございます。
Topics
トピックス
baserCMSでトップページに「index.html」でアクセスされるとBcBaser::isHome()がfalseになる。
2022/02/02
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環境など