Re: Re: 『エリアの追加』時にJavaScriptエラーが発生してしまう

2019年3月26日 at 15:56

こちら、解決しました。ありがとうございました。

以下、解決に至った手順です。

concrete5のレポート→ログを確認した所、下記エラーが発生していました。

Exception Occurred: /home/sites/heteml/users/****/web/******/updates/concrete5-8.3.2/concrete/src/Area/Layout/Preset/Provider/ThemeProvider.php:19 Invalid argument supplied for foreach() (2)


該当のソースを確認した所、
http://github.com/concrete5/concrete5/blob/develop/concrete/src/Area/Layout/Preset/Provider/ThemeProvider.php#L19

$arrayPresets が空になっているのが原因のようだと推測できました。

上の行で

$arrayPresets = $interface->getThemeAreaLayoutPresets();


となっていたので、getThemeAreaLayoutPresetsが空という推測が出来たので、
どこで使用しているのかを探してみた所、テーマのpage_theme,phpにたどり着きました。

エラーが出ている方とエラーが出ていない方のpage_theme,phpを比較した所、エラーが出ている方は下記のようにgetThemeAreaLayoutPresets()が空になっていました……。
適切な値を入れる事でエラー解消しました。


public function getThemeAreaLayoutPresets()
{
}


参考:http://concrete5-japan.org/help/5-7/developer/designing-for-concrete5/adding-complex-custom-layout-presets-in-your-theme/