主にsoyshop関連プラグインのphp8のエラー報告 投稿する

投稿者:kaiya  投稿日時:2024-10-14 14:34:11
お世話になります。

php8以上に変更するとエラーや警告がでる箇所をご報告します
主に soyshopと連携するプラグインの部分だと思います

soyInquiry関連
PHP7以前では警告なし
Warning: Undefined variable $itemId
ルート/app/webapp/inquiry/src/columns/SOYShopColumn.class.php on line 11

soyshop で php8.1.29まで警告無し  PHP8.2にしたら警告でます
Deprecated: Creation of dynamic property SOYShop_ShopConfig::$isChildItemOnAdminOrder is deprecated in /home/soycmsy/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82

Deprecated: Creation of dynamic property SOYShop_ShopConfig::$customerFormLabels is deprecated in /home/soycms/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82

Deprecated: Creation of dynamic property SOYShop_ShopConfig::$orderItemLabels is deprecated in /home/soycms/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82

Deprecated: Creation of dynamic property CustomFieldPluginAdvanced::$dao is deprecated in /home/soycms/common/util/CMSPlugin.class.php on line 513

soyshopで php8.0で警告無し php8.1.29で警告でます 詳細ページ
Deprecated: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /soycms/soyshop/webapp/src/module/plugins/custom_search_field/soyshop.site.beforeoutput.php on line 162

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /soycms/soyshop/webapp/src/module/plugins/custom_search_field/soyshop.site.beforeoutput.php on line 209

Deprecated: nl2br(): Passing null to parametr #1 ($string) of type string is deprecated in /soycms/soyshop/webapp/src/module/plugins/custom_search_field/soyshop.site.beforeoutput.php on line 216

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /soycms/soyshop/webapp/src/module/plugins/custom_search_field/soyshop.site.beforeoutput.php on line 242
投稿者:齋藤毅  投稿日時:2024-10-15 05:52:40
Warning: Undefined variable $itemId
ルート/app/webapp/inquiry/src/columns/SOYShopColumn.class.php on line 11
こちらですが、コードを確認しましたところ、該当する箇所にエラーメッセージに記載されている$itemIdがないので、おそらく古いバージョンを使用している可能性があります。

SOY Inquiryを新しいバージョンに試してからご利用ください。
投稿者:齋藤毅  投稿日時:2024-10-15 05:56:13
順不同になりますが
soyshopで php8.0で警告無し php8.1.29で警告でます 詳細ページ
Deprecated: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /soycms/soyshop/webapp/src/module/plugins/custom_search_field/soyshop.site.beforeoutput.php on line 162
こちらの方は修正しました。

修正版は下記ページにてダウンロードできます。
https://saitodev.co/soycms/soyshop/
投稿者:齋藤毅  投稿日時:2024-10-15 06:00:18
他のエラーはエラーメッセージだけでは原因を特定する事ができません。
SOY CMSとSOY Shopを最新版にして、改めてエラーになるかご確認をお願いします。
投稿者:kaiya  投稿日時:2024-10-15 07:58:46
soyshop soycmsを最新バージョンにしました。

まだ下記が表示されます

管理ページ(管理者詳細設定ページ)
Deprecated: Creation of dynamic property SOY2ActionResult::$attributes is deprecated in
/soycms/common/lib/soy2_build.min.php on line 673

公開側
Deprecated: Creation of dynamic property SOYShop_ShopConfig::$orderItemLabels is deprecated in
/soycms/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82

Deprecated: Creation of dynamic property CustomFieldPluginAdvanced::$dao is deprecated in
/soycms/common/util/CMSPlugin.class.php on line 513
投稿者:kaiya  投稿日時:2024-10-15 09:16:18
Inquiryも 最新バージョンにバージョン上げたのですが、
下記 警告がでました

Deprecated: Creation of dynamic property MailAddressColumn::$isLinkageSOYMail is deprecated in /socms/app/webapp/inquiry/src/domain/SOYInquiry_Column.class.php on line 454

Deprecated: Creation of dynamic property MailAddressColumn::$isLinkageSOYShop is deprecated in
/soycms/app/webapp/inquiry/src/domain/SOYInquiry_Column.class.php on line 455

Deprecated: Creation of dynamic property SOYInquiry_PageApplication::$config is deprecated in
/soycms/app/webapp/inquiry/page.php on line 95

Inquiry 管理画面
Deprecated: Creation of dynamic property IndexPage::$forms is deprecated in
/soycms/app/webapp/inquiry/pages/IndexPage.class.php on line 36

Deprecated: Creation of dynamic property CustomFieldPluginAdvanced::$dao is deprecated in
/soycms/common/util/CMSPlugin.class.php on line 513


Inquiryのバージョンアップの記事も拝見しましたが、
https://saitodev.co/article/SOY_Inquiry2.3%E4%BB%A5%E9%99%8D%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AB%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9

少し上記のエラーとは異なるような・・ 
投稿者:齋藤毅  投稿日時:2024-10-15 09:21:25
管理ページ(管理者詳細設定ページ)
Deprecated: Creation of dynamic property SOY2ActionResult::$attributes is deprecated in
/soycms/common/lib/soy2_build.min.php on line 673
は修正しました。
SOY CMSとSOY Shopの両方で修正を加えていますので、どちらも最新バージョンにしてください。
https://saitodev.co/soycms/
https://saitodev.co/soycms/soyshop/
投稿者:齋藤毅  投稿日時:2024-10-15 09:22:02
公開側
Deprecated: Creation of dynamic property SOYShop_ShopConfig::$orderItemLabels is deprecated in
/soycms/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82
こちらはおそらくですが、SOY Shopの管理画面でショップの設定を何の値も変更せずに更新したら、エラーが消えるかもしれません。
投稿者:齋藤毅  投稿日時:2024-10-15 09:33:08
SOY Inquiryの方はエラーメッセージに従って修正しました。
新しいバージョンにすれば、おそらく解決しているはずです。
https://saitodev.co/soycms/soyinquiry/
投稿者:kaiya  投稿日時:2024-10-15 10:31:03
早速の対応ありがとうございます!

公開側
Deprecated: Creation of dynamic property SOYShop_ShopConfig::$orderItemLabels is deprecated in
/soycms/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82
<quote>SOY Shopの管理画面でシ
SOY Shopの管理画面でショップの設定を何の値も変更せずに更新したら、エラーが消えるかもしれません。

これはsoyshopの管理画面で「商品」開いて 更新するでよろしかったでしょうか?
上記 しましたが エラーは 消えませでした。

その状態で php8.2 を php8.1を変更したところ、エラーは消えました。しかしphp8.2.に戻すとエラーがでます
投稿者:齋藤毅  投稿日時:2024-10-15 10:37:45
Deprecated: Creation of dynamic property SOYShop_ShopConfig::$orderItemLabels is deprecated in ~
こちらのエラーを改めて調査してみます。
投稿者:齋藤毅  投稿日時:2024-10-16 05:21:54
これはsoyshopの管理画面で「商品」開いて 更新するでよろしかったでしょうか?
こちらの質問を見落としていました。

SOY Shopの管理画面を開き、設定>基本設定 を開いて、何の値も変更せずに設定ボタンを押します。

SOYShop_ShopConfig::$orderItemLabels
は古いバージョンの時の設定項目の可能性が高く、基本設定を更新したら消える可能性があります。
投稿者:kaiya  投稿日時:2024-10-16 07:33:41
SOY Shopの管理画面を開き、設定>基本設定 を開いて、何の値も変更せずに設定ボタンを押します。

このとおり実行してみたのですが、エラーは消えませんでした・・とりあえず8.1環境で続けます
投稿者:齋藤毅  投稿日時:2024-10-16 09:00:00
ご確認をありがとうございます。

/CMSインストールディレクトリ/soyshop/webapp/src/domain/config/SOYShop_ShopConfig.class.phpの90行目の
private $displayItemImage = 1;
の下の行に
private $displayItemImage = 1;
private $orderItemLabels = array();
を加えてみたら如何でしょうか?
投稿者:kaiya  投稿日時:2024-10-16 12:39:00
private $displayItemImage = 1;
の下の行に
private $displayItemImage = 1;
private $orderItemLabels = array();
を加えてみたら如何でしょうか?

ありがとうございます。1つエラーが消えました。

同じファイルの行番号だったので 端折って報告してしまったのですが
変数名?が異なる エラーが2つ出ていました(最初3つ出ていた)

残り2つ のエラーChildItemOnAdminOrderとcustomerFormLabels

Deprecated: Creation of dynamic property SOYShop_ShopConfig::$isChildItemOnAdminOrder is deprecated in /soycms/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82

Deprecated: Creation of dynamic property SOYShop_ShopConfig::$customerFormLabels is deprecated in /soycmsy/soyshop/webapp/src/domain/config/SOYShop_DataSets.class.php on line 82
大変お手数ですが 何処を修正すればいいかご教示いただければ幸いです

Warning: Undefined variable $itemId
ルート/app/webapp/inquiry/src/columns/SOYShopColumn.class.php on line 11

こちらですが、コードを確認しましたところ、該当する箇所にエラーメッセージに記載されている$itemIdがないので、おそらく古いバージョンを使用している可能性があります。
SOY Inquiryを新しいバージョンに試してからご利用ください。
仰るようにInquiryを最新バージョンにしたところ、ほとんどのエラーが消えましたが、下記が1つのみInquiryに多く警告でていました
Deprecated: Creation of dynamic property BreadPlugin::$_page_arguments is deprecated in soycms/common/site_include/CMSPagePluginBase.class.php on line 15
投稿者:齋藤毅  投稿日時:2024-10-16 13:20:30
先程追加した
private $displayItemImage = 1;
private $orderItemLabels = array();

private $displayItemImage = 1;
private $orderItemLabels = array();
private $isChildItemOnAdminOrder = 0;
private $customerFormLabels;
のように編集してください。
投稿者:齋藤毅  投稿日時:2024-10-16 13:23:12
Deprecated: Creation of dynamic property BreadPlugin::$_page_arguments is deprecated in soycms/common/site_include/CMSPagePluginBase.class.php on line 15
ですが、
/CMSインストールディレクトリ/common/site_include/plugin/bread/bread.php の
var $separetor = ">";
の下に
private $_page_arguments = array();
を追加してみてください。
投稿者:kaiya  投稿日時:2024-10-16 13:36:57
private $displayItemImage = 1;
private $orderItemLabels = array();
private $isChildItemOnAdminOrder = 0;
private $customerFormLabels;

警告が消えました!
投稿者:kaiya  投稿日時:2024-10-16 13:51:13
<quote>var $separetor = ">";
の下に
private $_page_arguments = array();

<pre><backquote>private $_page_arguments = array();</backquote></pre>を追加してみてください。</quote>

こちらはエラー消えませんでした。

このInquiryのパンクズの部分にも
<code>Deprecated: Creation of dynamic property BreadPlugin::$_page_arguments is deprecated in /公開ルート/soycmsID/.cache/cache_cellar_form.html.html.php on line 196 と出ます

該当部分のコードは下記です

<a <code>href="/shop/">トップページ</a>
><span><?php echo call_user_func(unserialize(stripslashes('a:2:{i:0;O:11:\"BreadPlugin\":2:{s:9:\"separetor\";s:3:\">\";s:15:\"_page_arguments\";a:
と出ます
該当部分のコードは下記です

href="/shop/">トップページ</a>
><span><?php echo call_user_func(unserialize(stripslashes('a:2:{i:0;O:11:\"BreadPlugin\":2:{s:9:\"separetor\";s:3:\">\";s:15:\"_page_arguments\";a:0:{}}i:1;s:5:\"block\";}')),'商品グループ「○○」
',4); ?></span></p>


キャッシュになにか残っているのか・・と思って、このファイルを削除してみましたが、変わりませんでした。
投稿者:齋藤毅  投稿日時:2024-10-18 04:59:44
/CMSインストールディレクトリ/common/site_include/plugin/bread/bread.php の
var $separetor = ">";
の下に
var $_page_arguments = array();
を追加したら如何でしょうか?
投稿者:kaiya  投稿日時:2024-10-18 07:56:25
ありがとうございます!Inquiryの画面の警告 2つとも消えました!
ログインして投稿する