version: 3.11.34アップデートでブログ表示エラー 投稿する

投稿者:kamo  投稿日時:2023-05-03 08:50:32
komoです。
いつも開発ありがとうございます。
PHP 8.0.25、sqlite版でversion: 3.11.34にバージョンアップしたところ、
ページお知らせからブログ記事への記事詳細ページがエラーで表示できません。
いっしょにShop2.8.19にアップしています
------------------
Fatal error: Uncaught TypeError: DataBaseLogic::getByItemId(): Argument #1 ($itemId) must be of type int, null given, called in /home/xs/hi***.com/public_html/sycms/common/site_include/plugin/soyshop_item_import/soyshop_item_import.php on line 98 and defined in /home/xs/hi***.com/public_html/sycms/soyshop/webapp/src/module/plugins/custom_search_field/logic/DataBaseLogic.class.php:259 Stack trace: #0 /home/xs/hi***.com/public_html/sycms/common/site_include/plugin/soyshop_item_import/soyshop_item_import.php(98): DataBaseLogic->getByItemId(NULL) #1 /home/xs/hi***.com/public_html/sycms/common/util/CMSPlugin.class.php(438): SOYShopItemImportPlugin->onPageOutput(Object(CMSBlogPage)) #2 /home/xs/hi***.com/public_html/sycms/common/site_include/CMSPage.class.php(75): CMSPlugin::callEventFunc('onPageOutput', Object(CMSBlogPage)) #3 /home/xs/hi***.com/public_html/sycms/common/site_include/CMSBlogPage.class.php(732): CMSPage->main() #4 /home/xs/hi***.com/public_html/sycms/common/site_include/CMSPageController.class.php(138): CMSBlogPage->main() #5 /home/xs/hi***.com/public_html/sycms/common/lib/soy2_build.php(236): CMSPageController->execute() #6 /home/xs/hi***.com/public_html/sycms/common/site_include/SOYCMSOutputContents.class.php(64): SOY2PageController::run() #7 /home/xs/hi***.com/public_html/sycms/common/site_include/SOYCMSOutputContents.class.php(110): SOYCMSOutputContents::execute_normal() #8 /home/xs/hi***.com/public_html/sycms/common/site.func.php(42): SOYCMSOutputContents->execute() #9 /home/xs/hi***.com/public_html/website/index.php(12): execute_site() #10 /home/xs/hi***.com/public_html/index.php(3): include_once('/home/xs/...') #11 {main} thrown in /home/xs/hi***.com/public_html/sycms/soyshop/webapp/src/module/plugins/custom_search_field/logic/DataBaseLogic.class.php on line 259

また、上記の下にShopへのリンクがあり、その下に更にエラーが表示されています。
Fatal error: Uncaught Error: Undefined constant "AUTH_OPERATE" in /home/xs/hi***.com/public_html/sycms/soyshop/webapp/src/layout/error.php:92 Stack trace: #0 /home/xs/hi***.com/public_html/sycms/soyshop/webapp/conf/common.conf.php(121): include_once() #1 [internal function]: soyshop_shutdown() #2 {main} thrown in /home/xshiserv/hi-serv.com/public_html/sycms/soyshop/webapp/src/layout/error.php on line 92

上記はページ内お知らせのタイトルからのブログ記事詳細ですが、
ブログ一覧でも、一覧は表示できていますが、記事詳細は同じくエラーとなり
カテゴリーリンクもエラーで表示できません。

またshopのお知らせ部分も同様に記事詳細ページがエラーとなっています。
対応方法をお教えいただきたくよろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2023-05-03 16:01:02
Fatal error: Uncaught TypeError: DataBaseLogic::getByItemId(): Argument #1 ($itemId) must be of type int, null given, called in /home/xs/hi***.com/public_html/sycms/common/site_include/plugin/soyshop_item_import/soyshop_item_import.php on line 98
の方のエラーですが、該当するファイルの

$values = SOY2Logic::createInstance("module.plugins.custom_search_field.logic.DataBaseLogic")->getByItemId($item->getId());

$values = SOY2Logic::createInstance("module.plugins.custom_search_field.logic.DataBaseLogic")->getByItemId((int)$item->getId());
にすると良いです。

Fatal error: Uncaught Error: Undefined constant "AUTH_OPERATE" in /home/xs/hi***.com/public_html/sycms/soyshop/webapp/src/layout/error.php:92 
の方のエラーは放置で良いです。
投稿者:kamo  投稿日時:2023-05-03 18:01:11
kamoです。
ご対応ありがとうございます。
上記に変更したら、CMSサイトのページとブログ一覧からブログの記事へのリンクは正常に表示できました!
ただ、ShopページのTOPナビゲージョンページで作成している部分のお知らせが
記事のリンクは表示できるようになったのですが、こちらは日付が0となっています。
どこか追加で修正する部分がありますでしょうか?

度々お手数をお掛け致しますが、修正方法などお教えいただきたくお願い申し上げます。
投稿者:齋藤毅  投稿日時:2023-05-04 04:56:16
CMSインストールディレクトリ/soyshop/webapp/src/module/site/common/simple_news.php
のファイルに下記のURL先のコードを貼り付けた後に表示を確認してみてください。
https://raw.githubusercontent.com/inunosinsi/soycms/master/cms/soyshop/webapp/src/module/site/common/simple_news.php
投稿者:kamo  投稿日時:2023-05-04 08:19:38
齋藤様、お休みのところ、ご対応ありがとうございます、kamoです。
ファイルを差替えたところ、日付の0表示はなくなりましたが、日付自体は表示されておらず
値を取得していないようです。HTMLコード部分は何も入っていません。
とりあえず、0表示より、現状の方がブラウザで見たときよいかとおもいますが、日付はほしいところです。
誠にお手数をお掛け致しますが、連休明けでもご対応頂けると助かります。
ご多忙のところ、申し訳ございませんが、どうぞよろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2023-05-04 08:23:19
管理画面の方のキャプチャのアップロードをお願いします。
新着情報の登録状況を確認したいです。
投稿者:kamo  投稿日時:2023-05-04 10:04:44
kamoです。

拡張機能のインストール状態?のことでしょうか。
管理画面でブログ記事設定のページリンクをクリックしたら、管理画面にエラーが表示されていました。
Warning: Trying to access array offset on value of type null in /home/xs/hi***.com/public_html/sycms/soyshop/webapp/src/module/plugins/parts_entry_import/config/EntryImportConfigPage.class.php on line 50
添付画像でよかったでしょうか?

簡易新着情報プラグインとブログ記事表示プラグインが両方とも
インストールしていますが、ショップのTOPには
<!-- shop:module="common.simple_news" -->
で記述をしています。

どうぞよろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2023-05-04 12:53:02
言葉足らずですみません。
簡易新着情報プラグインの詳細画面です
投稿者:kamo  投稿日時:2023-05-04 13:49:17
kamoです。
設定画面は添付画像のようになっています。
投稿者:齋藤毅  投稿日時:2023-05-04 17:55:31
日付の方のY年m月d日のフォーマットに対応していませんでした。

CMSインストールディレクトリ/soyshop/webapp/src/module/site/common/simple_news.php
の40行目付近の
$createDate = (isset($entity["create_date"]) && is_string($entity["create_date"]) && preg_match('/[\d]{4}-[\d]{1,2}-[\d]{1,2}/', $entity["create_date"])) ? $entity["create_date"] : "";

$createDate = (isset($entity["create_date"]) && is_string($entity["create_date"])) ? $entity["create_date"] : "";
にすれば良いです。
投稿者:kamo  投稿日時:2023-05-04 20:41:45
kamoです。
コードをお教えいただいたように変更したら、表示ができるようになりました。
休日なのに、ご対応頂きありがとうございました。

今回の件でプラグインの管理画面を見たとき「ブログ記事表示プラグイン」画面のエラー
があった内容は掲示板のShopの方に転記しておきます。

尚、バージョンアップしたサイトでは運営側で「ブログ記事表示プラグイン」を利用
していないようなので、プラグインからアンインストールすることにしました。

大変助かりました。今後ともよろしくお願いいたします。
ログインして投稿する