エクスプレスのデータオブジェクトからオブジェクトを削除しようとした際にエラーが発生し、正しく削除できず、
オブジェクト一覧に残ったままになってしまいました。(バグ??)
その後、アソシエーションで関連づけた別のエントリーを編集しようとしたところ、
以下のエラーが表示され編集が不可に、、、
Call to a member function getId() on null
関連したアソシエーションを削除をしているので、
そのIDが無いために生じていることかと思うのですが、
データベースを触れる状況でも無いため、
MySQLを直接、、と言うことも難しく、困っています。
エントリーの編集ができるようにだけでもなりませんでしょうか?
# concrete5 Version
Core Version - 8.2.1
Version Installed - 8.2.1
Database Version - 20170802000000
# concrete5 Packages
Honest Websites Back To Top (1.0.1), Manual Nav (2.2.0), Open Graph Tags Lite (2.1.3)
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Only when manually removed or the cache is cleared.
# Server Software
Apache
# Server API
cgi-fcgi
# PHP Version
5.6.31
# PHP Extensions
bcmath, cgi-fcgi, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, libxml, mbstring, mcrypt, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib
# PHP Settings
max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 600
max_input_vars - 1000
memory_limit - 500M
post_max_size - 1000M
sql.safe_mode - Off
upload_max_filesize - 1000M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 2000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
==== 追記 ======
一部自己解決しました。
エクスプレスで登録する際に表示されない問題に関しては、
設定にて、
削除したものも含めたアソシエーションをエントリー一覧に表示するようにしていたのですが、
それが有効のままだったために、エラーを起こしていたようです。
以下の手順で解決しました。
concrete/src/Express/Search/Column/AssociationColumn.php :
21行目を
return 'association_' . $this->association->getId();
↓
return 'association_' . '1111111';
26行目を
return S$this->association->getTargetEntity()->getName();
↓
return '1111111';
に一旦修正して、更新。
これで、
Expressオブジェクトのエントリー一覧が表示されるようになります。
この状態で、
「システム設定」→「データオブジェクト」→ 対象のオブジェクト
オブジェクト詳細が表示されます。
「検索/一覧をカスタマイズ」を表示させると、
「アソシエーション」の部分が、[1111111]など、先ほど書き換えた表示になっていますが、
気にせず、その横にあるチェックを全て外し保存。
これで、
エキスプレスのエントリー一覧から、
アソシエーション部分の名前が消えます。
その後、
先ほど修正した箇所を戻して保存。
これで治りました。
ですが、データオブジェクトの問題は残ったままです。
ローカルでも試しましたが、残ったままです。
使わないので、問題はないのですが、
気持ち悪いので、何とかしたいのですが、方法はありますでしょうか?
Posted on 8月 28, 2017 at 6:17 午前
|