Я пытаюсь на лету сделать обрезку внутри серебряной полосы.В прошлом мы использовали
$Article_Image->SetWidth(390)
Это сработало.Вернул изображение правильной ширины.Однако теперь я хочу вернуть изображение, которое использует функцию заливки, чтобы вернуть изображение размером 390 x 235.То, что у меня есть, возвращает «ошибку сервера», но не возвращает никакой полезной ошибки.
Внутри моего класса newsArticle у меня есть следующее:
Контроллер -текущий
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) внутри шаблона, но он не работает.Я также пробовал следующий код, но он возвратил ошибку «Невозможно вызвать метод Fit () для объекта, не являющегося членом»
Контроллер - уже пробовал
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 %>
Как я могу получить его, чтобы вернуть изображение, которое было сделано, чтобы соответствовать определенному измерению?Я уверен, что это можно сделать, потому что это было упомянуто здесь в документации Silverstripe: https://docs.silverstripe.org/en/4/developer_guides/files/images/
Я использую Silverstripe 3.1.12