記事雛形管理のエラーについて 投稿する

投稿者:mitsu  投稿日時:2021-11-09 21:00:22
お世話になっております。

「記事詳細」の編集画面にて、これまで使用したことのない
「記事雛形管理」を試そうとクリックしたところ、
以下のようなエラーが表示されました。

以前ご相談した際にPHPのバージョンを8にあげております。

再現性のあるエラーかもわからず、
大変お手数をおかけしますが、アドバイスをいただけると幸いです。
何卒よろしくお願いいたします。

DETECT DATE: 2021-11-09T20:54:34+09:00

MESSAGE: Uncaught TypeError: Illegal offset type in isset or empty in /home/wwwww/www/www/wwwww/soycms/webapp/pages/EntryTemplate/IndexPage.class.php:48
Stack trace:
#0 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(6814): TemplateList->populateItem()
#1 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(6779): HTMLList->populateItemImpl()
#2 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(7008): HTMLList->execute()
#3 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(7026): HTMLPage->add()
#4 /home/wwwww/www/www/wwwww/webapp/pages/EntryTemplate/IndexPage.class.php(18): HTMLPage->createAdd()
#5 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(5595): IndexPage->__construct()
#6 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(277): SOY2HTMLFactory::createInstance()
#7 /home/wwwww/www/www/wwwww/common/lib/soy2_build.php(244): SOY2PageController->execute()
#8 /home/wwwww/www/www/wwwww/soycms/index.php(8): SOY2PageController::run()
#9 {main}
thrown
EXCEPTION TYPE: ErrorException
LOCATION: /wwwww/soycms/webapp/pages/EntryTemplate/IndexPage.class.php (48)

SOY CMS Version: 3.1.3.79
SOY CMS Build Date: 2021-11-05T06:43:26+09:00
SOY CMS DB Type: sqlite
SOY2RootDir: /home/wwwww/www/wwwww/wwwww/common/
SOY2_DOCUMENT_ROOT: undefined


STACK TRACE
-----------------------
0:soycms_shutdown

()

Server Environment
PHP Version: 8.0.11

PHP SAPI NAME: cgi-fcgi
PHP SAFE MODE: No
SHORT_OPEN_TAG: Yes

MEMORY_LIMIT: 128M Bytes
Memory Usage: 1,705,168 Bytes
6,291,456 Bytes (Real)
5,077,152 Bytes (Peak)
8,388,608 Bytes (Peak, Real)

MAX_EXECUTION_TIME: 30 sec.
POST_MAX_SIZE: 8M Bytes
UPLOAD_MAX_FILESIZE: 5M Bytes

mb_string: Yes
PDO: Yes
PDO_SQLite: Yes
PDO_MySQL: Yes
Standard PHP Library: Yes
SimpleXML: Yes
JSON: Yes
Services_JSON: No
ZIP: Yes
ZipArchive: Yes
Archive_Zip: No
OpenSSL: Yes
HASH: Yes
GD: Yes

Module/CGI CGI
Rewrite Unknown

USER_AGENT: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
REQUEST_URI: /wwwww/soycms/index.php/EntryTemplate
SCRIPT_NAME: /wwwww/soycms/index.php
PATH_INFO: /EntryTemplate
QUERY_STRING:

DOCUMENT_ROOT: /home/wwwww/www/wwwww
SCRIPT_FILENAME: /home/wwwww/www/wwwww/wwwww/soycms/index.php

SOY CMS Options
SOYCMS_ALLOWED_EXTENSIONS: undefined
SOYCMS_ALLOW_PHP_SCRIPT: undefined
SOYCMS_SKIP_MOBILE_RESIZE: undefined
SOYCMS_BLOCK_LIST: undefined
SOYCMS_TARGET_DIRECTORY: /home/wwwww/www/wwwww/
SOYCMS_TARGET_URL: undefined
SOYCMS_ADMIN_ROOT: undefined
SOYCMS_LANGUAGE: ja
投稿者:齋藤毅  投稿日時:2021-11-10 05:36:55
MESSAGE: Uncaught TypeError: Illegal offset type in isset or empty in /home/wwwww/www/www/wwwww/soycms/webapp/pages/EntryTemplate/IndexPage.class.php:48
上記のエラーはPHP8に対応されていない為のエラーでした。

上記のファイルの48行目のコードを
"text" => (isset($this->labels[$entity->getLabelId()])) ? $this->labels[$entity->getLabelId()]->getCaption() : "-"
から
"text" => (is_numeric($entity->getLabelId()) && isset($this->labels[$entity->getLabelId()])) ? $this->labels[$entity->getLabelId()]->getCaption() : "-"
に変更すればエラーはなくなります。
投稿者:齋藤毅  投稿日時:2021-11-10 05:42:58
記事雛形管理の機能自体が使用出来なくなっているみたいです。
近い内に修正します。
投稿者:齋藤毅  投稿日時:2021-11-10 06:54:40
PHP8で記事雛形管理が動作しない件を修正しました。
修正版はhttps://saitodev.co/soycms/からダウンロードできるようにしてあります。
投稿者:mitsu  投稿日時:2021-11-10 09:10:29
早速のご返事を有難うございました!

最新版のSOY CMSにアップデートして、
記事雛形管理も使用できるようになりました。

助かりました!

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