从SilverStripe中的路径创建Image实例

时间:2015-08-21 14:58:04

标签: php silverstripe

让我们说例如我们有路径/assets/no-thumbnail.png,如何将它加载到SilverStripe中的Image类?有没有办法可以做到这一点?

我问的原因是因为我想要Image类中可用的方法。

1 个答案:

答案 0 :(得分:4)

是的,/assets文件夹中存在的文件非常简单。虽然可能对其他位置的文件实现,但我将描述的方法将对文件的处理与您通过CMS上传的任何其他文件没有区别。

首先,我们需要确保此图像有一个DB记录。幸运的是,如果您需要以编程方式执行此操作,就可以像调用Filesystem::sync()一样简单。如果没有,那就是"同步" CMS中“文件”选项卡中的按钮。

完成后,您只需拨打File::get()->filter('Name', 'no-thumbnail.png')->first()(或甚至只是File::find('no-thumbnail.png'))即可获得正确的" Image对象,允许您调用Image class's instance methods中的任何一个。