SilverStripe 4 - DataExtension 自动发布版本化文件错误
SilverStripe 4 - DataExtension auto-publish versioned files error
如 所述,建议的解决方法在 dev
和 test
SS 环境中运行良好。
建议的一个是避免当前与通过 DataObject
$owns
属性.
管理的自动发布文件相关的错误
但由于我在生产环境中上传了我的项目 - 在 live
env - 解决方法不再有效。
就我而言,我正在研究 DataExtension
of User
模型。其余的实现完全遵循上述情况 - UploadField
。
在生产中,该片段似乎在其条件下被忽略了。特别是,这是我的版本:
用户扩展
// AllegatiDownload: many_many File type uploaded with UploadField
public function onAfterWrite()
{
if ($this->owner->AllegatiDownloadID) { // <- This is being ignored in live version
$this->owner->AllegatiDownload()->publishSingle();
}
parent::onAfterWrite();
}
如果我尝试替换
$this->owner->AllegatiDownloadID
和
$this->owner->AllegatiDownload()
条件通过,但 $this->owner->AllegatiDownload()->publishSingle()
returns 未跟踪的 500 异常。只是:
There was been an error
而且,正如我所说,这只发生在生产中。
在此先感谢您的支持。
今天我刷新了项目数据库,以升级与之交互的自定义前端组件。似乎在那次冲洗之后,问题就解决了。这很奇怪,因为我之前尝试了很多/dev/build?flush=all
,但没有任何反应。服务器缓存也许?我不知道。但现在解决方法按预期工作。
谢谢大家的支持
如 dev
和 test
SS 环境中运行良好。
建议的一个是避免当前与通过 DataObject
$owns
属性.
但由于我在生产环境中上传了我的项目 - 在 live
env - 解决方法不再有效。
就我而言,我正在研究 DataExtension
of User
模型。其余的实现完全遵循上述情况 - UploadField
。
在生产中,该片段似乎在其条件下被忽略了。特别是,这是我的版本:
用户扩展
// AllegatiDownload: many_many File type uploaded with UploadField
public function onAfterWrite()
{
if ($this->owner->AllegatiDownloadID) { // <- This is being ignored in live version
$this->owner->AllegatiDownload()->publishSingle();
}
parent::onAfterWrite();
}
如果我尝试替换
$this->owner->AllegatiDownloadID
和
$this->owner->AllegatiDownload()
条件通过,但 $this->owner->AllegatiDownload()->publishSingle()
returns 未跟踪的 500 异常。只是:
There was been an error
而且,正如我所说,这只发生在生产中。
在此先感谢您的支持。
今天我刷新了项目数据库,以升级与之交互的自定义前端组件。似乎在那次冲洗之后,问题就解决了。这很奇怪,因为我之前尝试了很多/dev/build?flush=all
,但没有任何反应。服务器缓存也许?我不知道。但现在解决方法按预期工作。
谢谢大家的支持