Jun_22
#1
以下の対象を絞るため表題の件のみ取り出しました。
https://forums.concretecms.org/t/topic/4081
以下の時、コンポーザーの自動保存で[エラー]というダイアログが表示されるようです。
- コンポーザーに[オプションリスト]タイプの属性が含まれている
- 1 で何も選択されていない
[管理画面]-[レポート]-[ログ]には以下が追加されます。
Exception Occurred: インストールディレクトリ/concrete/attributes/select/controller.php:250 Trying to access array offset on value of type null (2)
取り急ぎ application/config/concrete.php で自動保存を無効化してみましたが
return [
'composer' => [
'idle_timeout' => 0,
],
];
この設定ですと[ページを公開]をクリックしても反応がありません。
Firefox 開発ツールのコンソールタブには以下が表示されます。
Uncaught TypeError: my.saver is null
start https://ドメイン名/!drafts/2570/?ccmCheckoutFirst=1 line 2 > injectedScript:126
o https://ドメイン名/concrete/js/cms.js?ccm_nocache=76d599a23bc797cf15692be5b6bfdcd64c993a1c:180
jQuery 7
publish https://ドメイン名/concrete/js/cms.js?ccm_nocache=76d599a23bc797cf15692be5b6bfdcd64c993a1c:180
start https://ドメイン名/!drafts/2570/?ccmCheckoutFirst=1 line 2 > injectedScript:112
jQuery 8
start https://ドメイン名/!drafts/2570/?ccmCheckoutFirst=1 line 2 > injectedScript:110
<anonymous> https://ドメイン名/!drafts/2570/?ccmCheckoutFirst=1 line 2 > injectedScript:172
jQuery 11
<anonymous> https://ドメイン名/!drafts/2570/?ccmCheckoutFirst=1 line 2 > injectedScript:171
jQuery 14
openPanelDetail https://ドメイン名/concrete/js/cms.js?ccm_nocache=76d599a23bc797cf15692be5b6bfdcd64c993a1c:284
setupPanelDetails https://ドメイン名/concrete/js/cms.js?ccm_nocache=76d599a23bc797cf15692be5b6bfdcd64c993a1c:284
jQuery 4
2570:126:13
https://concrete5-japan.org/community/forums/chat/post-18531/
どのような改善方法が考えられますでしょうか。
Concrete CMS バージョン
9.1.3
PHP バージョン
8.0.x
サーバー
エックスサーバー
Jun_22
#2
Atomik をフルサイトでインストールし改めて試してみました。
自動保存で[エラー]ダイアログが表示されるとお伝えしましたが、[オプションリスト]タイプの属性で何も選択されていない場合、ボタンをクリックして保存してもエラーを生じるようです。
必須ではないチェックボックスのあるコンポーザーは、何かしら選択しないと保存ができません。
どのような原因が考えられますでしょうか。
katz515
#3
@Jun_22 すいません。
自動保存で[エラー]ダイアログが表示されるとお伝えしましたが、[オプションリスト]タイプの属性で何も選択されていない場合、ボタンをクリックして保存してもエラーを生じるようです。
必須ではないチェックボックスのあるコンポーザーは、何かしら選択しないと保存ができません。
すみませんが、エラーが発生するページタイプでのコンポーザー設定がどのような設定によるか、もうちょっと詳しい条件を知りたいです。
選択属性の一つがあることはわかりますが、エラーを再現し、コアなのか、テーマ・パッケージなのか、カスタマイズが原因なのかをはっきりさせたいです。
よろしくお願いします。
Jun_22
#4
拙い説明で恐縮です…具体的な手順は以下のようになります。
環境は PHP 8.0.x + Concrete CMS 9.1.3 フルサイト(Atomik)です。
- [管理画面]-[ページとテーマ]-[属性]で、[タイプを選択]から[オプションリスト]を選択する
- [複数のオプションを選択可能にする]を有効にして属性を追加する
- [管理画面]-[ページとテーマ]-[ページタイプ]で、[ページ]の[フォームを編集]より 2 の属性を追加する
- 3 のページタイプでページを新規作成する
- ツールバーの歯車アイコンをクリックしてコンポーザー画面を開く
追加した属性はチェックボックスになりますが、何も選択されていない状態で[保存して終了]や[編集モード]をクリックすると、[エラー]というダイアログが表示されます。
自動保存された場合も同様です。
[複数のオプションを選択可能にする]ではなく[選択時、すべてのオプションを表示]を有効にするとラジオボタンになりますが、[「なし」オプションをリストから隠す]も有効にした場合は初期値が選択されなくなり、こちらもチェックボックスと同じ状況になるようです。
1 Like
katz515
#5
@Jun_22 ありがとうございます。
先週は、コミュニティアップデートの収録をしていたので遅れてしまってすいません。
さきほど、GitHub に Issue を登録しました
あとは、このバグを修正していただける方を募集 or コアチームに修正してもらうのを待ちます。
Jun_22
#6
本件承知しました。
ご対応いただきありがとうございました。
Jun_22
#7
9.2.0RC2 をインストールし、[キャッシュと表示速度設定]をすべて無効にして検証しました。
本件問題は解消されたようです。
ご対応ありがとうございました。
Concrete CMS バージョン
9.2.0RC2
テーマ
フルサイト(Atomik)
PHP バージョン
8.0.x
サーバー
エックスサーバー
@Jun_22 お疲れ様です。
GitHub では、具体的に直したというコメントは Andrew からありませんでしたが、おっしゃるとおり、開発中の Concrete CMS では再現しなかったので、おそらく、治っているだろうということでした。
ありがとうございました。