不器用(TOT) エンジニアの気ままにプログラミング

~考え、作って、また考える~

テーマ制作を理解する_010_スマートフォン用テーマの変更

スマートフォン用テーマの変更をするには」

という内容で公式サイトに記載がありました。

 

「オプション」を押して、

出てきた表示項目を見て思いました。

『隠しオプション多い~!』

 

まぁ、色々と機能があるのはプラスなので、

理解して少しずつ使えるようになっていきたいですね。

 

今回の記事に関して

〇オプションボタンが非活性で動かなかった

〇モバイルとスマートフォンには何が含まれるか。

の2点がありますが、

ここでは、そのうちの

「オプションボタンが非活性で動かなかった」について、

 

対応した内容をメモしておきます。

※かなりプログラム寄りのメモとなります。

 

=====================================

オプションボタンが非活性で動かなかった

=====================================

<現象>

「対応する」のラジオボタンが非活性であった。

f:id:shevhome:20150812001531p:plain

<対応>

baserCMS/app/Config/install.php

に対して書き込み権限がないとダメみたいです。

f:id:shevhome:20150812001746p:plain

※上記はロリポップサーバの画面

<原因詳細>

対象の管理画面の部分の対象プログラムは

basercms\lib\Baser\View\SiteConfigs\admin\form.php

というファイルです。この中で、

$this->BcForm->input('SiteConfig.mobile', ~

のようにして、対象項目を出力していますが、

項目の非活性に関しては、

$disableSettingInstallSetting

という変数を使って、

HTMLでの非活性の「disabled」を出力しています。

そして、この

$disableSettingInstallSetting

がどこで設定されるかを調べると、

basercms\lib\Baser\Controller\SiteConfigsController.php

ここですね。

ここで、何が設定されているか調べると

if (!$writableInstall) {
$disableSettingInstallSetting = array('disabled' => 'disabled');
}

となっており、判断条件の「$writableInstall」は

$writableInstall = is_writable(APP . 'Config' . DS . 'install.php');

と定義されています。

まず、is_writableメソッド

PHP: is_writable - Manual

 を見るとわかるように書き込み権限がないとのこと。

そして、どのファイルの書き込み権限がないのかを調べると、

basercms\app\config\install.php

となります。

ですので、上記ファイルの書き込み権限を与えてあげれば、

対象項目が非活性とはなりません。