【问题标题】:SilverStripe 4 - DataExtension auto-publish versioned files errorSilverStripe 4 - DataExtension 自动发布版本化文件错误
【发布时间】:2018-10-19 09:00:45
【问题描述】:

正如this solution 所述,建议的解决方法在devtest SS 环境中运行良好。 建议的方法是避免当前与通过DataObject $owns 属性管理的自动发布文件相关的错误。

但由于我在生产环境中上传了我的项目 - 在 live env 上 - 解决方法不再有效。

就我而言,我正在研究 DataExtensionUser 模型。其余的实现完全遵循上述情况——UploadField。 在生产中,似乎 sn-p 在其条件下被忽略了。特别是,这是我的版本:

用户扩展

// 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-&gt;owner-&gt;AllegatiDownloadID

$this-&gt;owner-&gt;AllegatiDownload()

条件通过,但 $this-&gt;owner-&gt;AllegatiDownload()-&gt;publishSingle() 返回未跟踪的 500 异常。只是:

出现错误

而且,正如我所说,这只发生在生产中。

提前感谢您的支持。

【问题讨论】:

  • 您能否在您的实时站点上设置一些日志记录来跟踪您看到“出现错误”时导致的错误?我不知道为什么开发、测试或实时模型之间的关系会有所不同
  • 抱歉,出现此错误后没有生成日志。

标签: php silverstripe silverstripe-4


【解决方案1】:

今天我刷新了项目数据库,以便升级与之交互的自定义​​前端组件。似乎在那次冲洗之后,问题得到解决。这很奇怪,因为我之前尝试了很多/dev/build?flush=all,但什么也没发生。服务器缓存可能吗?我不知道。但现在解决方法按预期工作。

感谢您的支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    相关资源
    最近更新 更多