taro
2023 年 5 月 18 日午前 2:02
1
【環境情報】
・baserCMSのバージョン:5.0.0
・レンタルサーバー名:オンプレ(centos 7.6, php8.1 )
・使用テーマ: BcThemeSample
・PHPスキル(自己評価):A
以下の手順でカスタムコンテンツを作成
・カスタムコンテンツメニューからテーブルを作成
※テーブルにはテキストエリア(大)を使用
・コンテンツ管理メニューでカスタムコンテンツを作成
・作成したカスタムコンテンツに対してカスタムメニューで作成したテーブルを設定
・メニューから作成したカスタムコンテンツページへアクセス
・「MissingRouteException」エラーが発生し画面が表示されない
@taro こんにちは。
メニューから作成したカスタムコンテンツページへアクセス
これはフロントページにアクセスしたということでしょうか?それとも、カスタムエントリーの一覧や編集画面にアクセスしたということでしょうか?
具体的なURLやエラー画面のスクリーンショットを提供頂くことは可能でしょうか?
taro
2023 年 6 月 12 日午前 5:28
3
@ryuring
ご連絡が遅くなりました。
これはフロントページにアクセスしたということでしょうか?それとも、カスタムエントリーの一覧や編集画面にアクセスしたということでしょうか?
カスタムエントリーの一覧にアクセスした形になります。
URLに関してはご提供が難しいのですが、エラー画面のキャプチャとエラーログの内容を記載いたします。
エラーログのエラー
error: [Cake\Routing\Exception\MissingRouteException] A route matching "/js/admin/vendors/jquery.jstree-3.3.8/themes/proton/style.min.css" could not be found. in /ドキュメントルート/vendor/baserproject/baser-core/src/Routing/RouteCollection.php on line 197
他にご提示したほうがよいものがありましたら教えていただいてもよろしいでしょうか。
以上ご確認の程よろしくお願いいたします。
「いいね!」 1
/baser/admin/bc-custom-content/custom_entries/index/8
が無効とのことですが2点確認お願いします。
テーブルの存在確認
/baser/admin/bc-custom-content/custom_tables/index
にアクセスした際に No8 のテーブルは存在しますか?
デバッグモードでの表示確認
下記ページを参考にデバッグモードに切り替えて表示がどう変わるか教えてください。
デバッグ方法 | baserCMS Documentation
taro
2023 年 6 月 26 日午前 4:38
5
@ryuring
確認が遅くなりました。
ryuring:
テーブルの存在確認
/baser/admin/bc-custom-content/custom_tables/index
にアクセスした際に No8 のテーブルは存在しますか?
デバッグモードでの表示確認
下記ページを参考にデバッグモードに切り替えて表示がどう変わるか教えてください。
デバッグ方法 | baserCMS Documentation
→こちらに関してですが、デバッグモードで実行したところ以下のエラーが表示されました。
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'baser_test.test_custom_entry_8_test456' doesn't exist
DBを確認したところ確かに custom_entry_8_test456
のテーブルはありましたが、 test_custom_entry_8_test456
のテーブルは存在していませんでした。
カスタムコンテンツは以下の手順で作成しておりますが、なにか手順等間違っていたりしますでしょうか?
設定 > カスタムコンテンツ でカスタムコンテンツを作成
コンテンツ管理 からカスタムコンテンツを作成
作成したカスタムコンテンツの設定画面にアクセスし、テーブルに1で作成したコンテンツを設定し、保存ボタンをクリック
以上ご確認の程よろしくお願いいたします。
@taro config/install.php
において、Datasources.default
の prefix
に test_
と記述があったりしますか??
@taro それを空文字に変更してください。
また、データベース上のテーブルについて、「test_」がついたテーブルは存在してください。
taro
2023 年 6 月 26 日午前 9:33
9
→空文字にしたところ以下のエラーが表示されました。
Base table or view not found: 1146 Table 'baser_test.sites' doesn't exist
おそらくDB場は test_sites
のテーブルになっているからなような気がしております。
※テーブル上からも test_
を削除したほうが良かったでしょうか?
以上ご確認の程よろしくお願いいたします。
@taro
テーブル上からも test_
を削除したほうが良かったでしょうか?
そのようにお願いします。
仮説ですが、インストール時に「test_」というプレフィックスを設定してインストールされていて、その後、カスタムコンテンツをインストールする段階で、テーブルに「test_」というプレフィックスが付かないというバグになっているのではと考えています。
こちら引き続き調査してきますが、まずは手動で対応してみていただけますか?
「いいね!」 1
taro
2023 年 6 月 26 日午前 10:41
11
ryuring:
テーブル上からも test_
を削除したほうが良かったでしょうか?
そのようにお願いします。
→ご確認ありがとうございます。
手動でDB上から test_
を削除したところエラーになってアクセスできなかったカスタムコンテンツにアクセス・データの登録が行えました。
→インストール時に prefix
を test_
で指定してインストールを行っています。
お時間のある時で構いませんので調査の方よろしくお願いいたします。
以上よろしくお願いいたします。
「いいね!」 1
@taro ありがとうございます。取り急ぎ、Issue を発行しておきました。
opened 11:09AM - 26 Jun 23 UTC
Bug
まずは再現性を確認する
baserCMS version : 5.0.1
「いいね!」 1
@taro 調査したのですが、再現できませんでした。
もしかしたら、5.0.1 もしくは、現在の開発版のどこかのタイミングで解消されているようです。
taro
2023 年 6 月 27 日午前 3:19
14
→調査ありがとうございます。
こちらでも5.0.1(公式サイトからダウンロード)で改めて確認してみましたが、やはりカスタムコンテンツを作成すると prefix
なしのテーブルが作成されました。
※その状態でアクセスするとやはりエラーになりました。
作成されたテーブルに手動で prefix
を追加すると正しくアクセスできるようになりました。
もしかしたらこちらの環境(おま環)でのみ起きるのかもしれません。。。
test_
と site_
で試してみましたが、どちらのパターンでも同様の現象でした。。。
こちらで確認した挙動としては「設定」 > 「カスタムコンテンツ」からカスタムコンテンツを作成後DBを確認するとこの時点で prefix
なしテーブルが作成されておりました。
環境依存の可能性もある気がしていますので一度別の環境でも試してみたいと思います。
以上よろしくお願いいたします。
となると、GitHub上の開発版ですかねえ。今のところ開発環境(dev-5ブランチの最新版)では再現できませんでした。
@taro こちらの件、わかりました。
カスタムコンテンツプラグインをインストールしたタイミングで、プレフィックスが付かないと勝手に思い込んでいたのですが、カスタムフィールドなどは正常に利用できて、カスタムテーブルを作成する際に対象テーブルにプレフィックスが付かないということなんですね。
失礼しました。最新の開発版でも再現できましたので、次のコミットで解消しています。
committed 12:22AM - 29 Jun 23 UTC
確認よろしくお願いします。
taro
2023 年 6 月 30 日午前 8:01
17
→そうです!
うまく現象等お伝えできずに申し訳ありません。。。
修正いただいた件は別途確認したいと思います。
「いいね!」 1