SilverStripe 图像填充功能导致服务器错误
SilverStripe Image Fill Function is causing a server error
我正在尝试在银色条纹内部动态裁剪。过去我们用
$Article_Image->SetWidth(390)
成功了。它 return 编辑了正确宽度的图像。但是,我现在想要 return 使用填充功能的图像 return 390 x 235 图像。到目前为止,我得到的 return 是 'server error',但 return 没有任何有用的错误。
在我的新闻文章中 class 我有以下内容:
控制器 - 当前
class newsArticle extends Page {
private static $has_one = array(
'Article_Image' => 'Image'
);
public function ResizedImage() {
return $this->Article_Image()->Fit(390,235);
}
}
然后在我的页面模板中有以下内容:
模板 - 当前
<% if $Article_Image %>
<div class="col-md-5 col-lg-4 nopadding">
$ResizedImage()
</div>
<% end_if %>
已经尝试过
我已经尝试在模板中执行 $Article_Image->Fit(390,235) 但它不起作用。我也尝试了以下代码,但它 returned 错误 'Cannot call method Fit() on non-member object'
控制器 - 已经尝试过
class newsArticle extends Page {
private static $has_one = array(
'Article_Image' => 'Image'
);
public function ResizedImage($Image) {
return $Image->Fit(390,235);
}
}
模板 - 已经尝试过
<% if $Article_Image %>
<div class="col-md-5 col-lg-4 nopadding">
$ResizedImage($Article_Image)
</div>
<% end_if %>
我怎样才能return 制作适合特定尺寸的图像?我确信它可以完成,因为它已在 Silverstripe 的文档中被提及:
https://docs.silverstripe.org/en/4/developer_guides/files/images/
我正在使用 silverstripe 3.1.12
最简单的方法是在模板中执行以下操作。
$Article_Image.CroppedImage(390,235)
您的控制器中不需要 ResizedImage
函数。
这是第 3 版文档的 link:
https://docs.silverstripe.org/en/3.1/developer_guides/files/image/
拟合方法是在 SS4 中引入的。
我正在尝试在银色条纹内部动态裁剪。过去我们用
$Article_Image->SetWidth(390)
成功了。它 return 编辑了正确宽度的图像。但是,我现在想要 return 使用填充功能的图像 return 390 x 235 图像。到目前为止,我得到的 return 是 'server error',但 return 没有任何有用的错误。
在我的新闻文章中 class 我有以下内容:
控制器 - 当前
class newsArticle extends Page {
private static $has_one = array(
'Article_Image' => 'Image'
);
public function ResizedImage() {
return $this->Article_Image()->Fit(390,235);
}
}
然后在我的页面模板中有以下内容:
模板 - 当前
<% if $Article_Image %>
<div class="col-md-5 col-lg-4 nopadding">
$ResizedImage()
</div>
<% end_if %>
已经尝试过
我已经尝试在模板中执行 $Article_Image->Fit(390,235) 但它不起作用。我也尝试了以下代码,但它 returned 错误 'Cannot call method Fit() on non-member object'
控制器 - 已经尝试过
class newsArticle extends Page {
private static $has_one = array(
'Article_Image' => 'Image'
);
public function ResizedImage($Image) {
return $Image->Fit(390,235);
}
}
模板 - 已经尝试过
<% if $Article_Image %>
<div class="col-md-5 col-lg-4 nopadding">
$ResizedImage($Article_Image)
</div>
<% end_if %>
我怎样才能return 制作适合特定尺寸的图像?我确信它可以完成,因为它已在 Silverstripe 的文档中被提及: https://docs.silverstripe.org/en/4/developer_guides/files/images/
我正在使用 silverstripe 3.1.12
最简单的方法是在模板中执行以下操作。
$Article_Image.CroppedImage(390,235)
您的控制器中不需要 ResizedImage
函数。
这是第 3 版文档的 link:
https://docs.silverstripe.org/en/3.1/developer_guides/files/image/
拟合方法是在 SS4 中引入的。